<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: &quot;regresión lineal simple y múltiples&quot; </font></p>

<p><font size="2">Saludos!
<br />
<br />
<br /><b>---------- Original Message -----------</b>
<br />From: &quot;Roberto A. Vaghi&quot; &lt;roberto_vaghi@hotmail.com&gt; 
<br />To: Lista AUS &lt;ipsaus-main@lists.ourproject.org&gt; 
<br />Sent: Fri, 18 Nov 2011 13:12:16 -0300 
<br />Subject: [ips-AUS] [pye] R crash course 
<br />
<br />&gt; 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 />&gt; 
<br />&gt; Saludos
<br />&gt; 
<br />&gt; </font></p>

<p>
<hr align="left" noshade="true" /></p>

<p>
<br />&gt; 
<br />&gt; 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 />&gt; 
<br />&gt; <tt>help.start()</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Este comando abre en el Internet browser la página de ayuda de R (útil como referencia)</font>
<br />&gt; 
<br />&gt; <tt>library (Rcmdr)</tt>
<br />&gt; 
<br />&gt; <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 />&gt; 
<br />&gt; <tt>library (MASS)</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Importa la librería MASS, donde está definido el dataset &quot;survey&quot; que se utiliza (un dataset es una colección de datos)</font>
<br />&gt; 
<br />&gt; <tt>head(survey);</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Comportamiento similar al comando &quot;head&quot; de bash, muestra la parte de arriba del dataset &quot;survey&quot;</font>
<br />&gt; 
<br />&gt; <tt>height.survey = survey$Height;</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Crea el vector &quot;height.survey&quot;, copiando la columna &quot;Height&quot; del dataset &quot;survey&quot;</font>
<br />&gt; 
<br />&gt; <tt>mean(height.survey)</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Calcula y muestra (porque no se asigna a ninguna variable) la media (mean en inglés) de la variable &quot;height.survey&quot;. Como el vector contiene valores &quot;na&quot; (Not Available o no disponibles), la media resulta en &quot;na&quot;. No muy útil</font>
<br />&gt; 
<br />&gt; <tt>mean(height.survey, na.rm=TRUE)</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Ahora sí... Removiendo los &quot;na&quot; con na.rm=TRUE, se obtiene la media de 172.3809</font>
<br />&gt; 
<br />&gt; <tt>var(height.survey, na.rm=TRUE)</tt>
<br />&gt; <tt>max(height.survey, na.rm=TRUE)</tt>
<br />&gt; <tt>min(height.survey, na.rm=TRUE)</tt>
<br />&gt; 
<br />&gt; <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 />&gt; 
<br />&gt; <tt>height.known = na.omit(survey$Height);</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Asigna a la variable &quot;height.known&quot; los valores distintos a NA de la columna &quot;Height&quot; del dataset &quot;survey&quot; . Notar el uso de la función na.omit...</font>
<br />&gt; 
<br />&gt; <tt>n = length (height.known);</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Asigna a la variable &quot;n&quot; el tamaño (o cantidad de elementos) del vector antes definido. </font>
<br />&gt; 
<br />&gt; <tt>sigma = 9.48;</tt>
<br />&gt; 
<br />&gt; <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 &quot;v&quot;, usamos la función c() ...  &quot; v &lt;- c(1, 2, 3)&quot;  y ahora la variable v contiene el vector 1  2  3</font>
<br />&gt; 
<br />&gt; <tt>sem = simga / sqrt(n);</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Asigna a la variable &quot;sem&quot; el resultado de dividir &quot;simga&quot; por la raíz cuadrada (función &quot;sqrt&quot;) de la variable &quot;n&quot;. </font>
<br />&gt; 
<br />&gt; <tt>sem;</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Muestra el valor de &quot;sem&quot; en pantalla. Sorpresa! No sale nada... En la definición anterior, cometí un error de tipeo. &quot;simga&quot; no es lo mismo que &quot;sigma&quot;. Aunque la variable &quot;simga&quot; no estaba previamente definida, la definición &quot;sem = simga / sqrt(n)&quot; no dio ningun error. Sólo que no le asignó ningún valor a &quot;sem&quot; 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á &quot;Error: could not find function &quot;sqtr&quot;&quot;</font>
<br />&gt; 
<br />&gt; <tt>sem = sigma / sqrt(n); sem</tt>
<br />&gt; 
<br />&gt; <font color="#339966">separadas por un &quot;;&quot; se hace en la misma línea la asignación a &quot;sem&quot; y se muestra en pantalla su valor: 0.6557453</font>
<br />&gt; 
<br />&gt; <tt>E = qnorm (0.975)*sem; E</tt>
<br />&gt; 
<br />&gt; <font color="#339966">La función &quot;qnorm&quot; 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 &quot;sem&quot;, se guarda en &quot;E&quot; y se muestra en pantalla: 1.285237</font>
<br />&gt; 
<br />&gt; <tt>xbar = mean(height.known); xbar</tt>
<br />&gt; 
<br />&gt; <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 />&gt; 
<br />&gt; <tt>intervalo = xbar + c(-E, E)</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Crea el vector (-E, E) y le suma a cada miembro &quot;xbar&quot;. El resultado se guarda en &quot;intervalo&quot;</font>
<br />&gt; 
<br />&gt; <tt>intervalo</tt>
<br />&gt; 
<br />&gt; <font color="#339966">Muestra el valor del intervalo definido: (171.0956, 173.6661)</font>
<br />&gt; 
<br />&gt; <tt>savehistory(file = &quot;~/rconsola.txt&quot;)</tt>
<br />&gt; 
<br />&gt; <font color="#339966">savehistory(&quot;nombre_archivo&quot;) guarda todos los comandos que se escribieron en la consola de R, en el archivo &quot;nombre_archivo&quot;. Util para guardar el trabajo realizado y no tener que volver a tipear. El archivo se puede recuperar con loadhistory(&quot;nombre_archivo&quot;). Una observación adicional, la consola de R permite el autocompletado como el que tiene bash, usando el &quot;tab&quot;. Si usan algún GUI, estas comodidades debería proveerselas el mismo...</font> 
<br /><b>------- End of Original Message -------</b>
<br /></p>

</BODY>
</HTML>