<HTML>
<HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="OPENWEBMAIL" name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>
<p><font size="2">Gente les queríamos avisar que los grupos compuesto por coty marcos beto y mariana seleccionamos el tema: "regresión lineal simple y múltiples" </font></p>
<p><font size="2">Saludos!
<br />
<br />
<br /><b>---------- Original Message -----------</b>
<br />From: "Roberto A. Vaghi" <roberto_vaghi@hotmail.com>
<br />To: Lista AUS <ipsaus-main@lists.ourproject.org>
<br />Sent: Fri, 18 Nov 2011 13:12:16 -0300
<br />Subject: [ips-AUS] [pye] R crash course
<br />
<br />> 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...
<br />>
<br />> Saludos
<br />>
<br />> </font></p>
<p>
<hr align="left" noshade="true" /></p>
<p>
<br />>
<br />> Primero, conseguir el R... <a href="http://www.r-project.org/">http://www.r-project.org/</a> 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.
<br />>
<br />> <tt>help.start()</tt>
<br />>
<br />> <font color="#339966">Este comando abre en el Internet browser la página de ayuda de R (útil como referencia)</font>
<br />>
<br />> <tt>library (Rcmdr)</tt>
<br />>
<br />> <font color="#339966">Abre el R Commander, un GUI que permite hacer más fácil algunas tareas en R (hay que instalar el paquete r-recommended)</font>
<br />>
<br />> <tt>library (MASS)</tt>
<br />>
<br />> <font color="#339966">Importa la librería MASS, donde está definido el dataset "survey" que se utiliza (un dataset es una colección de datos)</font>
<br />>
<br />> <tt>head(survey);</tt>
<br />>
<br />> <font color="#339966">Comportamiento similar al comando "head" de bash, muestra la parte de arriba del dataset "survey"</font>
<br />>
<br />> <tt>height.survey = survey$Height;</tt>
<br />>
<br />> <font color="#339966">Crea el vector "height.survey", copiando la columna "Height" del dataset "survey"</font>
<br />>
<br />> <tt>mean(height.survey)</tt>
<br />>
<br />> <font color="#339966">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</font>
<br />>
<br />> <tt>mean(height.survey, na.rm=TRUE)</tt>
<br />>
<br />> <font color="#339966">Ahora sí... Removiendo los "na" con na.rm=TRUE, se obtiene la media de 172.3809</font>
<br />>
<br />> <tt>var(height.survey, na.rm=TRUE)</tt>
<br />> <tt>max(height.survey, na.rm=TRUE)</tt>
<br />> <tt>min(height.survey, na.rm=TRUE)</tt>
<br />>
<br />> <font color="#339966">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.</font>
<br />>
<br />> <tt>height.known = na.omit(survey$Height);</tt>
<br />>
<br />> <font color="#339966">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...</font>
<br />>
<br />> <tt>n = length (height.known);</tt>
<br />>
<br />> <font color="#339966">Asigna a la variable "n" el tamaño (o cantidad de elementos) del vector antes definido. </font>
<br />>
<br />> <tt>sigma = 9.48;</tt>
<br />>
<br />> <font color="#339966">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</font>
<br />>
<br />> <tt>sem = simga / sqrt(n);</tt>
<br />>
<br />> <font color="#339966">Asigna a la variable "sem" el resultado de dividir "simga" por la raíz cuadrada (función "sqrt") de la variable "n". </font>
<br />>
<br />> <tt>sem;</tt>
<br />>
<br />> <font color="#339966">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""</font>
<br />>
<br />> <tt>sem = sigma / sqrt(n); sem</tt>
<br />>
<br />> <font color="#339966">separadas por un ";" se hace en la misma línea la asignación a "sem" y se muestra en pantalla su valor: 0.6557453</font>
<br />>
<br />> <tt>E = qnorm (0.975)*sem; E</tt>
<br />>
<br />> <font color="#339966">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</font>
<br />>
<br />> <tt>xbar = mean(height.known); xbar</tt>
<br />>
<br />> <font color="#339966">Asigna a xbar el valor de la media del vector y lo muestra en pantalla. 172.3809, como habíamos visto antes</font>
<br />>
<br />> <tt>intervalo = xbar + c(-E, E)</tt>
<br />>
<br />> <font color="#339966">Crea el vector (-E, E) y le suma a cada miembro "xbar". El resultado se guarda en "intervalo"</font>
<br />>
<br />> <tt>intervalo</tt>
<br />>
<br />> <font color="#339966">Muestra el valor del intervalo definido: (171.0956, 173.6661)</font>
<br />>
<br />> <tt>savehistory(file = "~/rconsola.txt")</tt>
<br />>
<br />> <font color="#339966">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...</font>
<br /><b>------- End of Original Message -------</b>
<br /></p>
</BODY>
</HTML>