[ips-AUS] [pye] R crash course
Roberto A. Vaghi
roberto_vaghi en hotmail.com
Vie Nov 18 17:12:16 CET 2011
Les pego abajo el trabajito que hizo ayer Alejandro en R. Lo fui
copiando a medida que los introducÃa, no está 100% igual porque no usé
los mismos nombres de variables, pero los resultados coincidieron con lo
que obtuvo él y si siguen el orden deberÃan obtener un resultado igual.
Los comentarios agregados entre lÃneas son mÃos y deben tomarlos a su
propio riesgo...
Saludos
________________________________________________________________________
Primero, conseguir el R... http://www.r-project.org/ Hay un repositorio
para la familia Debian, agregándolo se instala y mantiene fácil
actualizado usando aptitude. Una vez instalado, abrir una consola y
escribir R (en mayúscula). Enter y estamos en el ambiente R de consola.
help.start()
Este comando abre en el Internet browser la página de ayuda de R (útil
como referencia)
library (Rcmdr)
Abre el R Commander, un GUI que permite hacer más fácil algunas tareas
en R (hay que instalar el paquete r-recommended)
library (MASS)
Importa la librerÃa MASS, donde está definido el dataset "survey" que se
utiliza (un dataset es una colección de datos)
head(survey);
Comportamiento similar al comando "head" de bash, muestra la parte de
arriba del dataset "survey"
height.survey = survey$Height;
Crea el vector "height.survey", copiando la columna "Height" del dataset
"survey"
mean(height.survey)
Calcula y muestra (porque no se asigna a ninguna variable) la media
(mean en inglés) de la variable "height.survey". Como el vector contiene
valores "na" (Not Available o no disponibles), la media resulta en "na".
No muy útil
mean(height.survey, na.rm=TRUE)
Ahora sÃ... Removiendo los "na" con na.rm=TRUE, se obtiene la media de
172.3809
var(height.survey, na.rm=TRUE)
max(height.survey, na.rm=TRUE)
min(height.survey, na.rm=TRUE)
Calcula y muestra la varianza, máximo y mÃnimo del mismo vector
(96.9738, 200 y 150 respectivamente). No es necesario para el ejercicio
y Ale no lo hizo, pero vale como ejemplo.
height.known = na.omit(survey$Height);
Asigna a la variable "height.known" los valores distintos a NA de la
columna "Height" del dataset "survey" . Notar el uso de la función
na.omit...
n = length (height.known);
Asigna a la variable "n" el tamaño (o cantidad de elementos) del vector
antes definido.
sigma = 9.48;
Inicializa la variable sigma al valor 9.48. Si se desea asignar un
vector (es decir, una Colección ordenada) a una variable llamada "v",
usamos la función c() ... " v <- c(1, 2, 3)" y ahora la variable v
contiene el vector 1 2 3
sem = simga / sqrt(n);
Asigna a la variable "sem" el resultado de dividir "simga" por la raÃz
cuadrada (función "sqrt") de la variable "n".
sem;
Muestra el valor de "sem" en pantalla. Sorpresa! No sale nada... En la
definición anterior, cometà un error de tipeo. "simga" no es lo mismo
que "sigma". Aunque la variable "simga" no estaba previamente definida,
la definición "sem = simga / sqrt(n)" no dio ningun error. Sólo que no
le asignó ningún valor a "sem" tampoco. Hay que andar con cuidado en
cómo se meten los dedos cuando se usan variables. Por suerte, los
llamados a funciones sà dan error cuando la función usada no está
definida. Ejemplo: sqtr(n) nos dará "Error: could not find function
"sqtr""
sem = sigma / sqrt(n); sem
separadas por un ";" se hace en la misma lÃnea la asignación a "sem" y
se muestra en pantalla su valor: 0.6557453
E = qnorm (0.975)*sem; E
La función "qnorm" hace lo siguiente... Dada una probabilidad, devuelve
el número para el cual la función de distribución acumulada de una
normal estandarizada tiene dicha probabilidad. Ejemplo: qnorm(0.5) = 0.
El resultado del número cuya probabilidad acumulada es 0.975 se
multiplica por el valor de "sem", se guarda en "E" y se muestra en
pantalla: 1.285237
xbar = mean(height.known); xbar
Asigna a xbar el valor de la media del vector y lo muestra en pantalla.
172.3809, como habÃamos visto antes
intervalo = xbar + c(-E, E)
Crea el vector (-E, E) y le suma a cada miembro "xbar". El resultado se
guarda en "intervalo"
intervalo
Muestra el valor del intervalo definido: (171.0956, 173.6661)
savehistory(file = "~/rconsola.txt")
savehistory("nombre_archivo") guarda todos los comandos que se
escribieron en la consola de R, en el archivo "nombre_archivo". Util
para guardar el trabajo realizado y no tener que volver a tipear. El
archivo se puede recuperar con loadhistory("nombre_archivo"). Una
observación adicional, la consola de R permite el autocompletado como el
que tiene bash, usando el "tab". Si usan algún GUI, estas comodidades
deberÃa proveerselas el mismo...
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://lists.ourproject.org/pipermail/ipsaus-main/attachments/20111118/21f9c163/attachment.htm
Más información sobre la lista de distribución Ipsaus-main