0% encontró este documento útil (0 votos)
28 vistas5 páginas

Introducción A R

R es un lenguaje de programación y software de análisis estadístico de código abierto, que permite realizar una amplia variedad de tareas de análisis y visualización de datos. Aunque puede parecer complejo al principio, R utiliza objetos y funciones que facilitan la manipulación de datos, y cuenta con una gran comunidad y recursos de aprendizaje disponibles. El documento también incluye ejercicios prácticos y un glosario de funciones y símbolos comunes en R.

Cargado por

Pame Sacco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas5 páginas

Introducción A R

R es un lenguaje de programación y software de análisis estadístico de código abierto, que permite realizar una amplia variedad de tareas de análisis y visualización de datos. Aunque puede parecer complejo al principio, R utiliza objetos y funciones que facilitan la manipulación de datos, y cuenta con una gran comunidad y recursos de aprendizaje disponibles. El documento también incluye ejercicios prácticos y un glosario de funciones y símbolos comunes en R.

Cargado por

Pame Sacco
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Introducción al uso de R

Hoja de ruta
 ¿Qué es R?
 Conceptualizando R (o de cómo entender R sin morir en el intento…)
 Ejercicios
 Pequeño Glosario de R

¿Qué es R?

R es un programa para el análisis estadístico y la visualización de datos de libre acceso y código


abierto, pero no sólo es eso, si no que a la vez, y por sobre todas las cosas, es un potente lenguaje de
programación orientado hacia el análisis estadístico que permite una gran versatilidad y un amplísimo abanico
de tareas realizables. Casi todo se puede hacer en este programa, y lo que no, se puede programar para que lo
haga. La historia de R se remonta a la década del ’70, cuando John Chambers y otros estadísticos de la
empresa AT&T comenzaron a fantasear con un lenguaje interactivo y amigable para el análisis exploratorio de
datos y la obtención de salidas gráficas. De ellos surgió S, un lenguaje que aún hoy se sigue usando y del cual
derivan programas estadísticos comerciales como el S-Plus (que quizás conozcan). R puede considerarse un
hijo pródigo de éste, desarrollado en la década del ’90 por Rosh Ihaka y Robert Gentleman de la Universidad
de Auckland (Australia). A partir de ahí, R fue creciendo imparablemente hasta convertirse hoy en el presente
y futuro de las herramientas disponibles para el análisis estadístico, y uno de los lenguajes de programación
más utilizados en el mundo (al mismo nivel que los lenguajes C, Java o Python), existiendo una gran
comunidad dinámica de contribuyentes que mantiene, de manera gratuita y al alcance de todos, las más
novedosas herramientas de análisis y visualización.

R es lo que se dice un programa “gauchito”, pero como todo, hay que saber entenderlo. Actualmente,
existe mucha bibliografía (libros, manuales, guías de uso) que explica cómo se hacen los análisis en R,
además de numerosas páginas web con ejemplos concretos y foros de ayuda. Algunas páginas que pueden
resultarles de interés son, por ejemplo:

R-bloggers (http://www.r-bloggers.com/) # un excelente blog con novedades y aplicaciones de R de gran calidad


Nabble (http://r.789695.n4.nabble.com/). # un muy buen foro de discusión para hacer y buscar consultas
r-dir (https://r-dir.com/) # sitio web con una selección de libros, tutoriales, etc., de alta calidad

Una de las desventajas iniciales que presenta R frente a otros programas de estadística “clásicos”
utilizados en la materia (primero Statistica, luego InfoStat), es que las instrucciones al programa no se dan con
botones, menúes desplegables y paneles (digamos, no se maneja con un entorno “Windows”). Esto es, porque
como son infinitas las funciones que tiene, serían infinitos los botones, menúes y paneles que debería tener…
por esto las instrucciones al programa se las da en forma escrita, en lenguaje de programación. Si superamos
esta barrera, con toda la ayuda con la que podemos contar de docentes, compañeros, y toda la bibliografía
disponible, estaremos en condiciones de correr numerosos análisis estadísticos, con distinto grado de
dificultad. Los invitamos a adentrarse en este mundo…

Conceptualizando R (o de cómo entender R sin morir en el intento…)


Como dijimos, al principio R puede parecer demasiado complejo para los que no estamos
acostumbrados a trabajar con lenguajes de programación, aunque no sea necesariamente cierto (muchas veces
puede simplificarnos la vida en relación a otros programas estadísticos). Por otra parte, tampoco pretendemos
que se vuelvan expertos en R, ni esperen que nosotros lo seamos… pero, para hacer un poco más entendible la
forma en que R funciona veamos cuáles son los conceptos generales más importantes y que nos pueden hacer
mucho más fácil la vida:

R trabaja con objetos (por eso se lo clasifica como un lenguaje orientado a objetos), y todos los datos
ingresados, variables creadas, resultados obtenidos y funciones utilizadas son almacenados como objetos con
un nombre específico que pueden ser inspeccionados y vueltos a usar una y otra vez. A su vez, estos objetos
pueden manipularse con operadores (+, -, /, <, >, =, &, etc.) y funciones, que son las que permiten hacer
todo tipo de análisis, visualización, manipulación de datos, etc. Las funciones vienen en paquetes, algunos de
ellos ya incluidos en la versión de R descargada (librería de funciones), y muchos otros que se consiguen en
Internet y que es necesario instalar para usar. Un código o script es un conjunto de comandos que uno puede
generar y guardar como archivo de extensión “.R” para no tener la necesidad de volver a tipear todas las
órdenes una y otra vez (en la próxima sección vamos a estar trabajando con nuestro primer script).

Fig. Esquema de funcionamiento de R. Extraído de Paradis (2003)

Los objetos pueden ser muchos y variados en su estructura, definiéndose según su clase, y dentro de
ellos, algunos de los que más van a escuchar son: los vectores, las matrices/arreglos, y los factores (es decir,
un objeto que se comporta como una variable categórica, y que puede incluir los niveles posibles). Todos
estos objetos sólo pueden contener a la vez un tipo de elemento o atributo (numérico, carácter, lógico, etc.).
Por otra parte, los data.frame son la clase de objeto más útiles para el trabajo con bases de datos, ya que
pueden contener uno o más vectores o factores de igual longitud, y combinar tipos de elementos (vectores
numéricos con factores de caracteres, etc.). Por último, un objeto de la clase lista puede contener cualquier
tipo de objeto (vectores, factores, matrices, incluso otras listas!), y son el núcleo de los objetos que se
obtienen como “resultados” de un determinado análisis. Todo esto, que realmente puede sonar aburrido (no lo
podemos negar…), es una de las bases fundamentales para que podamos disfrutar de la flexibilidad de R, ya
que gracias a esto podemos -por ej.- acceder a distintas porciones de la información contenida en una lista, o
una misma función puede usarse con diferentes clases de objetos utilizando la misma estructura sintáctica, ¡y
obtener resultados muy diferentes!

Ejercicios
Ahora sí, manos a la obra!! Abran el archivo IntroR_Script.R (File > Open file). En el mismo van a
encontrar una serie de ejercicios con su explicación para empezar a ganar amistad con R. Para ir haciéndolos
vayan presionando Ctrl + Enter al lado de cada renglón. También tienen el archivo de Excel Tabla_IntroR.xlsx
donde están los datos para trabajar con el script, el enunciado de la base de datos, y la explicación de lo que
significa cada variable. Y si se quedan con ganas de más ejercicios, pueden probar todos estos: http://www.r-
bloggers.com/start-here-to-learn-r/.

Pequeño Glosario de R

Les ofrecemos a continuación algunas referencias acerca del significado de distintos símbolos y
funciones que vamos a utilizar más frecuentemente 1. Muchas de ellas las vamos a ver más en detalle a lo largo
de la cursada. También pueden consultar y/o tener a mano The R-Reference Card (https://cran.r-
project.org/doc/contrib/Short-refcard.pdf).

1
Parte de los mismos fueron extraídos (con permiso) de la Guía de TP 2015 de la materia “Ecología de
Comunidades y Ecosistemas” del Dpto. de Ecología, Genética y Evolución, a quienes agradecemos por su contribución.
Símbolos y funciones generales

> Este símbolo indica que R está listo para recibir instrucciones
Este símbolo se usa para decirle a R que no tenga en cuenta lo que está escrito después de él. Es muy
# útil para agregar notas o comentarios.
Se usa para configurar el directorio de trabajo (ej. en qué carpeta va a buscar, dentro de la computadora,
los datos y planillas a los que hagamos referencia). NO USAR NUNCA espacios en los nombres de
setwd() archivos, variables o directorios. Tampoco debe usar los siguientes símbolos: £ $ % ^ & * ( ) # ?<
> / | \ [ ] {}
getwd() Muestra cuál es el directorio de trabajo actual
dir() Muestra qué archivos tengo en esa carpeta
ls() Muestra una “lista” de todos los elementos u objetos que se encuentran en la memoria del R
rm(list=ls() Esta instrucción la usamos para eliminar todos los objetos de la memoria y así nos garantizarnos que R
) no tenga nada previamente guardado
Muestra la ayuda de “xx”, donde “xx” es el comando que necesitamos conocer cómo funciona. La
primera instrucción realiza la búsqueda en las 13 ayudas de R de las cosas que tenemos instaladas en
?xx o ??xx nuestra computadora. La segunda realiza la búsqueda en la base de datos de R en Internet (las tengamos
o no instaladas en la computadora)
Cargar los paquetes. Los paquetes son un conjunto de archivos que le permiten al programa usar o no
determinadas funciones. Sólo las funciones que se encuentran dentro del paquete base no necesitan ser
cargadas. Por eso, dependiendo de lo que uno vaya a querer hacer va a necesitar cargar previamente el
paquete adecuado (el nombre del cual se debe indicar dentro del paréntesis), y en caso de no haberlo
library() nunca descargado, instalarlo en la computadora: install.packages(). Con update.packages() se
actualizan los paquetes. Para buscar documentación o consultar por paquetes que realicen algún tipo de
análisis específico, Crantastic posee un buscador que incluye una revisión de los mismos por la
comunidad (http://crantastic.org/).
q() Cierra el R.

Manejo de datos/objetos

Sirven para crear ó definir un objeto. Por ejemplo con “x = 3” o “x <- 3” se define un objeto que se
llama x que es igual a 3. Por razones históricas y de compartición de código, se recomienda usar el
símbolo <-
Es una buena costumbre definir los objetos en mayúscula para que R no confunda un objeto definido
por nosotros con una de sus funciones. Por ejemplo si el valor medio de x es 4, al definir mean <- 4, R
no sabrá si “mean” es 4 o es la función para calcular la media. Debido a que R es sensible a las
<- ó = mayúsculas Mean y mean son cosas distintas. Finalmente como todas las funciones (o la gran mayoría)
fueron creadas usando minúsculas si usamos mayúsculas para definir objetos y variables no tendremos
errores derivados de la confusión entre los objetos que creamos nosotros y las que ya existen. Tenga en
cuenta que R sobrescribirá objetos si nosotros nombramos un nuevo objeto con el mismo nombre de un
objeto preexistente. Por ejemplo si uno crea el objeto x para que sea un 8 (x <- 8) y luego escribe x <- x
– 2, la próxima vez que escriba x, el R lo leerá como un 6 y no ya como un 8.
Permite cargar una tabla de datos desde un archivo de texto. Ej. read.table(Data.txt). Recordar que el R
buscará este archivo sólo dentro de la carpeta que fijamos como directorio de trabajo. Data <-
read.table("Data.txt", sep="\t", header=TRUE, row.names=1) creará el objeto Data a partir del
archivo Data.txt. Pero puede ser necesario darle más especificaciones: sep="\t" indica que la separación
de las columnas del archivo de texto es una tabulación (también podría ser un punto “.” o una coma “,”;
read.table() header=TRUE indica que el archivo tiene una fila que corresponde al nombre de las variables (si no
tuviera se indica como FALSE ó simplemente F); y row.names=1 indica que la primera columna
contiene el nombre de las variables y no es parte de los datos. Reemplazando en esta instrucción
“Data.txt” por “clipboard” creará Data a partir de los datos copiados en el portapapeles. Ej. para pegar
datos copiados desde el Excel y generar un objeto Data: Data <- read.table("clipboard", header = T,
row.names = 1, sep ="\t")
Es la función que define objetos vectoriales con cada columna de un objeto de clase lista o data.frame.
Ej. attach(Data) permitirá que el programa reconozca las variable dentro de Data, es decir cada uno con
el nombre de la columna. Por ejemplo, si en nuestra base de datos tenemos valores de pH, Humedad y
attach() Conductividad, luego de aplicar el comando podremos ver o hacer cálculos con cada una de las
variables por separado con sólo llamarlas por su nombre. En caso de no hacerlo, en lugar de escribir pH
uno debería escribir Data$pH (la columna pH que está dentro del objeto Data) cada vez que quisiera
hacer algo con esa variable.
detach() Deshace todo lo realizado por la función attach(). Ej. detach(Data)
Devuelve los nombres de un objeto. Ej. names(Data) devolverá todos los nombres de las columnas de
names() Data
Devuelve los “encabezados” de un objeto, es decir los nombres de las variables de cada columna y las
head() primeras 5 filas de datos. Ej. head(Data)
Define que una variable es un factor (variable categórica). Ej. Data$Sp<-as.factor(Data$sp)
as.factor() especificamos que la variable Sp que se encuentra dentro de la tabla Data es categórica.
as.integer() Define que una variable es un entero. Ej. Data$Abund <-as.integer(Data$Abund)
as.numeric( Define que una variable es un número. Ej. Data$Vol <-as.numeric(Data$Vol)
)
class() Devuelve la clase del objeto. Ej. class(Data$sp) nos devolverá como resultado la palabra Factor
Realiza una selección del objeto (vector, matriz, data.frame) indicado según un determinado criterio. Ej.
subset() subset(Data,pH < 7) se queda con las observaciones cuyo pH es menor de 7.
c() Concatena elementos. Ej: c(4, 10) produce un vector compuesto de los elementos 4 y 10.

Gráficos

Crea un gráfico. El tipo de gráfico dependerá del objeto que se introduzca dentro del paréntesis.
plot() Ej. plot(Data$Abund, Data$Vol) creará un gráfico de dispersión con los datos Data$Abund y
Data$Vol en los ejes X e Y.
hist() Crea un gráfico de histograma.
boxplot() Crea un gráfico de cajas y bigotes.
windows() Abre una ventana vacía, donde luego se dibujará el gráfico.
par(mfrow=c(1,2) Esta instrucción divide a windows() en 1 fila y 2 columnas iguales donde R ubicará los próximos
) dos gráficos. par(mfrow=c(2,2)) dividirá a windows() en 2 filas y 2 columnas.

Análisis estadístico descriptivo e inferencial

mean(x) Cálculo del promedio de los elementos de x


median(x) Cálculo de la mediana de los elementos de x
var(x) o Cálculo de la varianza de los elementos de x; también calcula la matriz de covarianza en caso de ser
cov(x) una matriz o base de datos
cor(x) Matriz de correlación lineal para objetos de clase matriz o data.frame
var(x, y) Covarianza entre x e y
cor(x, y) Matriz de correlación lineal entre x e y
t.test() Test de Student
binom.test() Test binomial
chisq.test() Prueba de χ2
wilcox.test() Prueba no paramétrica de Mann-Whitney-Wilcoxon
shapiro.test() Test de normalidad de Shapiro-Wilk
pairwise.t.tes Test de Student pareado
t
Calcula la potencia asociada a un Test de Student. Alternativamente determina los parámetros para una
power.t.test determinada potencia
ks.test() Test de Kolmogorov-Smirnov
prop.test() Test de igualdad de proporciones
levene.test() Test de homogeneidad de varianza (se necesita el paquete car)
TukeyHSD() Test de Tukey

Modelado Estadístico

lm() Ajuste a un modelo lineal


glm() Ajuste a un modelo lineal generalizado
aov() Realiza un modelo de análisis de la varianza
anova() Construye tabla proveniente de un modelo de análisis de la varianza
df.residual( Devuelve el número de grados de libertad
)
coef() Devuelve los coeficientes estimados del modelo
fitted() Devuelve los valores predichos por el modelo
residuals() Devuelve los residuos del modelo
AIC() Calcula el valor del criterio de información de Akaike
summary() Devuelve un resumen detallado del objeto
Devuelve un resumen abreviado del objeto. Esta función, al igual que muchas de esta tabla y de las
print() funciones gráficas, en realidad son lo que se denominan funciones genéricas, que según la clase del
objeto que se ingrese dentro del paréntesis varía la salida que se obtiene

Para conocer más sobre R, su historia, sus funciones y aplicaciones:


Crawley, M. J. (2007). The R book. Chichester, England: Wiley.
Ihaka, R. (2012). A Brief History R: Past and Future History. Statistics Department, The University of
Auckland.–New Zealand: Auckland.
Paradis, E. (2003). R para principiantes. Institut des Sciences de l’E´volution, Universit Montpellier II.
Traducido por Jorge A. Ahumada, RCUH/ University of Hawaii &USGS/ National Wildlife Health Center
Disponible en https://cran.r-project.org/doc/contrib/rdebuts_es.pdf.

help.start() # prueben esto en la consola de R y verán…

También podría gustarte