CURSOS DE VERANO 2014

Anuncio
CURSOS DE VERANO 2014
GEOGEBRA COMO RECURSO PARA UNAS
NUEVAS MATEMÁTICAS
AMPLIANDO GEOGEBRA CON R
VIRGILIO GÓMEZ RUBIO, MARÍA JOSÉ HARO DELICADO
Geogebra y R
●
●
●
●
R es el software estadístico más utilizado en el mundo
académico (http://www.r-project.org)
Gran capacidad de análisis y visualización de datos
Se podría utilizar para incrementar las rutinas
estadísticas de Geogebra
Los desarrolladores de Geogebra ya han planteado la
posibilidad de integrar R en Geogebra:
https://dev.geogebra.org/trac/wiki/GeoGebraStatistics
Integración de Geogebra y R
●
Conseguimos una primera integración usando la
Ventana de Python, pero sólo funciona hasta la versión
4.9.247
●
http://www.uclm.es/profesorado/vgomez/GeogebraR/
●
Basado en el paquete Rserve
●
R se ejecuta como un servidor
●
Se puede llamar a R desde Geogebra
●
En la actualidad, este no es el enfoque
recomendado
Geogebra y R en la web
●
●
●
●
El desarrollo de Geogebra se encamina hacia el uso de
Geogebra en la web, con HTML5
La Ventana de Python parece que desaparecerá en
Geogebra 5
La integración ha de hacerse pensando en ejecutarlo
todo en el navegador
Enfoque completamente distinto al anterior
GeogebraR
●
●
●
●
Hemos desarrollado un paquete de R llamado
GeogebraR, que integra Geogebra y R en una web
Basado en el paquete de R opencpu, que permite que R
se comporte como un servidor web
opencpu incluye una API en Javascript para llamar a R
Además, es posible hacer disponibles los ejemplos en
una web
http://becarioprecario.ocpu.io/GeogebraR/www/
●
También se pueden ejecutar localmente instalando el
paquete GeogebraR
Estructura
●
●
●
●
●
Código en Javascript para llamar a R
Código en R que es visible desde Javascript (no se
permite el acceso directo a los paquetes de R)
Posibilidad de enviar y recibir datos entre Geogebra y R
Opciones para el desarrollo de gráficos con R y
mostrarlos en la web
Geogebra también proporciona una API para manipular
objectos desde Javascript
Ejemplo: Simulación de Puntos
●
El primer ejemplo simplemente permite llamar a R para
simular 10 puntos y mostraros en Geogebra
●
Hay parte en Javascript y parte en R
●
Las función importante en Javascript es ocpu.rpc
Ejemplo: Código HTML
<!-- OCPU lib and depends -->
<script type="text/javascript" src="opencpu/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="opencpu/resize.js"></script>
<script type="text/javascript" src="opencpu/opencpu-0.4.js"></script>
<form>
<input type="button" value="Sample 5 points with R" onclick="checkR();">
</form>
<form>
<input type="button" value="Create polygon" onclick="createpoly();">
</form>
Ejemplo: Código Javascript (I)
function checkR() {
var nsims = 5;
var req = ocpu.rpc("simpts",{
n : nsims
}, function(output){
//Add points
for(var i=0;i<nsims;i++)
{
var cmd= "A"+(i+1)+"=("+output[i]+")";
document.ggbApplet.evalCommand(cmd);
}
});
}
Ejmplo: Código Javascript (II)
function createpoly() {
var cmd="poly1=Polygon[A1, A2, A3, A4, A5]";
document.ggbApplet.evalCommand(cmd);
}
Ejemplo: Código R
#Sample coordinates for points
simpts<-function(n=1, seed=NULL)
{
if(!is.null(seed)){set.seed(seed)}
xx<-cbind(rnorm(n), rnorm(n))
return(xx)
}
Ejemplo: Navegador
Ejemplo: Navegador
Más ejemplos
 Disponibles en el paquete GeogebraR
http://becarioprecario.ocpu.io/GeogebraR/www/
 Teorema Central del Límite
 Control de Calidad
 Mapas
 Procesos puntuales (casos y controles)
 Ajuste de curvas no lineales
Ejemplo: Teorema Central de Límite
 Estudio del comportamiento de la media de
observaciones de una distribución
 Para una determinada distribución, ¿cómo cambia la
distribución de la media al aumentar el tamaño
muestral?
 Para un mismo tamaño muestral, ¿cómo varía la
distribución de la media con la distribución de la
población?
Ejemplo: Control de Calidad
 Estudio de la sensibilidad de las bandas de control de
calidad para el estudio de la media del proceso
 Ejemplo interactivo
 ¿Cómo cambian las bandas al mover uno de los valores
hacia adentro? ¿Y hacia afuera?
 ¿Qué ocurriría si tuviésemos un valor muy atípico?
 ¿Puede ocurrir que todos los valores estén fuera de las
bandas?
Ejemplo: Mapas
 Visualización de información geográfica en Geogebra
 Sabiendo que cada unidad de Geogebra representa 50
km, calcula las distancias en línea recta entre:
– Albacete y Baeza
–
Granada y Jaén
–
Albacete y Granada
Ejemplo: Procesos puntuales
 Estudio de la intensidad de un conjunto de casos de una
enfermedad con respecto a un conjunto de controles
 Se calcula el cociente entre la intensidad de los casos y
los controles
 ¿En qué regiones es más prevalente la enfermedad?
Ejemplo: Ajuste de Curvas
 Ajuste de curvas no lineales a un conjunto de puntos
 Lowess, spline y polinomio de grado 5
 Ejemplo interactivo
 ¿Cómo ajustan las distintas curvas a cada uno de los 3
conjuntos de datos? ¿Qué diferencias observas?
 ¿Qué ocurriría si tuviéramos uno o varios valores
extremos?
¿Por dónde empiezo?
 Nociones de creación de paquetes de R
 Nociones de Javascript
 Revisar la documentación de la API de Geogebra para
Javascript
 Para poder poner los ejemplos en la web de opencpu
 Crear el paquete en github
 Configurar la cuenta según se indica en la web de
opencpu
 ¡¡Lo más sencillo es coger los ejemplos de GeogebraR y
modificarlos!! Se pueden ejecutar localmente
Algunos consejos
 Asignar nombres a todos los objetos de Geogebra: listas
de puntos, líneas, etc.
 Eliminar los objetos existentes antes de añadir otros
nuevos
 …
Trabajo Pendiente

Explorar otras opciones para enlazar Geogebra y R
(¿Shiny?)
 Explorar de qué manera se pueden usar los gráficos de
R con Geogebra de manera eficiente (p.ej., de manera
que se actualicen al modificar objetos en Geogebra)
 Ver de qué manera se puede usar este enlace para
incluir algunos de los métodos que aparecen en la lista
de desarrollos futuros en la web de Geogebra:
https://dev.geogebra.org/trac/wiki/GeoGebraStatistics
Lista de Recursos
 Desarrollo de métodos estadísticos en Geogebra:
https://dev.geogebra.org/trac/wiki/GeoGebraStatistics
 Nuestra página sobre Geogebra y R:
http://www.uclm.es/profesorado/vgomez/GeogebraR/
 Ejemplos del paquete GeogebraR:
http://becarioprecario.ocpu.io/GeogebraR/www/
 API de Javascript para Geogebra
http://wiki.geogebra.org/en/Reference:JavaScript
 Web del paquete opencpu:
https://www.opencpu.org/
Descargar