Al finalizar con éxito esta práctica serás capaz de:
Para el desarrollo de la Unidad I y el logro de sus objetivos usaremos R, un lenguaje de programación bien desarrollado, simple y efectivo que incluye condicionales, ciclos, funciones recursivas y posibilidad de entradas y salidas. En esta primera práctica veremos los aspectos más fundamentales de su uso.
No es necesario instalar R, para los objetivos del curso basta con
usar la interfaz PositCloud
en donde podremos realizar todas las prácticas sin necesidad de instalar
R. Crea una cuenta de usuario que es la que usarás a lo largo de todo el
curso.
Nota: Si deseas instalar R puedes descargarlo Acá. Una vez
instalado R, se recomienda instalar Rstudio que es una interfaz aun más
amigable y que puedes descargar en RStudio
Para almacenar datos en una variable se usa la función c( ) separando los valores por medio de comas. Por ejemplo, si queremos almacenar la serie de datos 1.45, 1.62, 1.65, 1.40 y 1.89 en la variable alturas procedemos de la siguinte manera:
alturas <- c(1.45,1.62,1.65,1.40,1.89)
Nota: el operador de asignación es “<-” (menor que y guión unidos) y no el habitual “=” que se reserva para otro propósito.
alturas <- c(1.45,1.62,1.65,1.40,1.89)
alturas
Ejecuta ambas lineas del codigo. Esto deberá desplegar en la consola
los valores que has introducido en la variable alturas.
También puedes almacenar texto en una variable. Ejecuta la siguiente
porción de código:
nombres <- c("Carlos", "Antonio", "José", "Juan", "David")
nombres
Ten presente cuando manipules variables que R es case sensitive, de manera que A y a son dos variables distintas.
R tiene la característica de que sus funciones gráficas comparten
muchos de sus parámetros, de manera que lo que aprendamos en esta parte
se aplicará en la mayoría de las demás funciones que usaremos a la largo
de la unidad I.
Para ilustrar el uso de estos parámetros usaremos la función
plot() que soporta algunos de los argumentos de uso más común.
Realiza los siguientes pasos:
plot(sin)
Note que la función no se visualiza adecuadamente, por lo que hay que modificar algunos de los parámetros. Por ejemplo, podemos definir los límites del gráfico agregando los parámetros xlim y ylim de la siguiente manera (copie el código y ejecútelo):
plot(sin, xlim=c(0,2*pi),ylim=c(-1,1))
Esto hace que el gráfico se visualice mejor, pero aun faltan algunos detalles como las etiquetas en los ejes y el título principal. Podemos cambiar las etiquetas de ambos ejes usando los parámetros xlab y ylab como se muestra a continuación (copie el código y ejecútelo):
plot(sin, xlim=c(0,2*pi),ylim=c(-1,1), xlab="Valores de x", ylab = "Seno(x)")
Ahora agreguemos un título para el gráfico. Esto se logra con el parámetro main de la siguiente manera (copie el código y ejecútelo):
plot(sin, xlim=c(0,2*pi),ylim=c(-1,1), xlab="Valores de x", ylab = "Seno(x)", main="Gráfica de la función seno")
La función plot( ) permite graficar una serie de datos. Dentro del paréntesis se colocan parámetros que modifican la apariencia del gráfico generado. Estos parámetros son compartidos por otras funciones gráficas que usaremos mas adelante.
Las operaciones aritméticas en R son vectorizadas, es decir que se aplican elemento a elemento. Por ejemplo, suponga que se tiene la siguiente información sobre las temperaturas en cierta región en grados Fahrenheit:
| Año | 1968 | 1969 | 1970 | 1971 |
|---|---|---|---|---|
| Temperatura | 51.9 | 51.8 | 51.9 | 53.0 |
Si se desea convertirlas a grados Celsius tenemos que aplicar la
siguiente fórmula:
\(C=\frac{5}{9}(F-32)\)
Una forma de hacerlo sería la siguiente (copie y ejecute el siguiente
código)
temperaturas_F <- c(51.9,51.8,51.9,53.0)
temperaturas_C <- 5/9*(temperaturas_F-32)
print(temperaturas_C)
Esto debería mostrar las temperaturas convertidas a grados Celsius de
modo que no es necesario hacer la conversión elemento a elemento ya que
R se encarga de hacerlo automáticamente por medio de sus operaciones
vectorizadas.
Para terminar esta sección copia y ejecuta las siguentes porciones de
código en RStudio Cloud
x <- c(1:5)
y <- c(6:10)
print(x)
## [1] 1 2 3 4 5
print(y)
## [1] 6 7 8 9 10
x + y
## [1] 7 9 11 13 15
x * y
## [1] 6 14 24 36 50
sqrt(x)
## [1] 1.000000 1.414214 1.732051 2.000000 2.236068
x <- c(x,y)
print(x)
## [1] 1 2 3 4 5 6 7 8 9 10
z <- c(x,10:1)
print(z)
## [1] 1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1
Esto debería darte una visión más completa de las operaciones vectorizadas.
Las matrices son objetos de uso muy común en R y en general los podemos considerar como un vector multidimensional. Para nuestros propósitos encontraremos que una matriz puede ser muy útil para guardar información que luega será representada en un gráfico.
x <- c(1:10)
y <- matrix(x,2,5)
print(y)
x <- c(1:10)
y <- matrix(x,2,5)
colnames(y) <- c("A","B","C","D","E")
print(y)
## A B C D E
## [1,] 1 3 5 7 9
## [2,] 2 4 6 8 10
Ahora la matriz generada debería de desplegarse con las colunmas
identificadas por las letras A, B, C, D y E.
Para referirnos a un elemento en particular usamos la sintaxis
matriz[fila,columna]. Por ejemplo, para visualizar el elemento
en la primera fila y tercera columna usamos el código
y[1,"C"]
## C
## 5
Repite varias veces la práctica 1, hasta que te familiarices con los comandos que se han usado y a continuación realiza la Evaluación de la práctica 1.