Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Breve Manual de R PDF
Breve Manual de R PDF
> prompt
> q() para terminar una sesión en R
> ls() Muestra todos los objetos creados previamente en R y que fueron guardados en una sesión
pasada.
> rm() Borra los objetos indicados en paréntesis y separados por comas.
<- Signo de asignación. Lo que está al lado derecho se asigna al lado izquierdo.
En el paquete R las mayúsculas son diferentes a las minúsculas. Es decir Mat, mat, MAT, son objetos
diferentes en R.
En R tenemos dos maneras de ejecutar comandos: Directamente en la ventana de comandos o leyendo un
archivo de comandos previamente copiados en un archivo de texto.
> source("C:/comandos.txt")
Funciones de lectura de Datos
En R se tienen diversos comandos para lectura de datos en formatos conocidos u otros. Algunos son:
La entrada o lectura de los datos puede hacerse directamente en el teclado o leyendo de un archivo externo.
Para leer los datos NUMERICOS a una matríz (en este caso de tres columnas),
escribimos:
Para acceder a cualquiera de las columnas de dat, se coloca entre corchetes el número correspondiente a la
columna:
Otra función muy útil es read.table, la cual permite leer estructuras más complejas con menos requisitos.
Por ejemplo, leamos de nuevo los datos del archivo “datos1.txt”, cuya primera fila contienen los nombres de las
variables. Las instrucciones y el objeto resultante son:
Para leer archivos en formato Excel, primero se deben guardar los datos en formato “csv”. Luego se utiliza el
comando “ read.csv”
Suponga que los datos anteriores se tienen en un archivo Excel: “datos1.xls”. Estos se guardan en formato csv:
“datos1.csv”
> x1 <- c(3.6, 2.5, 1.8, 3.2, 4.1, 4.0, 3.7, 2.3, 2.8, 3.5, 4.5)
Secuencias de Números
Para llamar estos objetos usamos el comando source ( “ruta del archivo”)
Manipulación de Datos
Lenguaje Vectorizado
Subíndices
Otras funciones
max() Máximo
min() Mínimo
sum() Suma
mean() Media
var() Varianza
median() Mediana
quantile(…, probs=c(…) ) Cuantiles del argumento
prod() Producto de todos los elementos
length() Longitud del objeto o número de elementos
ncol() Número de columnas del objeto
nrow() Número de filas del objeto
summary() Estadísticas básicas
Funciones de redondeo
ncol indica el número de columnas, byrow indica como se llenará la matriz. byrow=T, indica que se debe llenar
por filas. byrow=F, indica que se llena por columnas
Las operaciones entre matrices utilizan los símbolos usuales hasta ahora mencionados. Las operaciones de
suma, resta, multiplicación, división, exponenciación, se realizan elemento a elemento.
> c <-a+b
> c1 <-a*b
> c2 <- 2*a-3*b+3
> a%*%b Producto usual entre matrices
> round(c4%*%c6)
> x1
> a
> b
> cbind(a,b) Esta función pega ambas matrices por columnas: primero a y luego b
> rbind(a,b) Esta función pega ambas matrices por filas: primero a y luego b
> mat
> apply(x, Margin, fun,...) El comando apply permite aplicar una función específica a las filas o
columnas o ambas de un objeto x (matriz o arreglo) y devuelve un vector o
arreglo con los correspondientes resultados. Margin indica si se aplica a
filas o columnas o ambos (1 para filas, 2 para columnas y “c(1,2)” para
ambas, fun indica la función que se desea aplicar a x.
Considere una base de datos que contiene información de 400 persomnas acerca de 10 variables: GENERO
ESTATURA MASA EDAD GASTOM TIEMPO ESTRATO INGRESO TIP_VEH GASERV. Una parte de la base se
muestra a continuación:
GENERO ESTATURA MASA EDAD GASTOM TIEMPO ESTRATO INGRESO TIP_VEH GASERV
MUJER 168.6 50.7 23.4 394.5 4.4 4 1463.7 BICI 157.8
HOMBRE 169.5 75.6 30.7 494.4 11.4 2 607.5 PUBLI 148.5
HOMBRE 171.2 73.8 29.0 484.5 29.4 4 1462.8 PUBLI 137.4
HOMBRE 155.8 71.8 29.5 512.1 81.3 3 915.9 PUBLI 163.8
HOMBRE 165.6 78.3 30.6 495.0 2.7 1 561.6 CARRO 182.4
MUJER 153.1 50.6 27.8 405.0 8.9 4 1526.1 CARRO 137.1
HOMBRE 185.5 67.2 30.5 502.8 10.9 3 883.2 CARRO 129.3
HOMBRE 160.8 74.5 31.5 495.9 21.1 3 929.4 BICI 153.6
MUJER 159.5 58.5 27.3 396.9 100.5 3 855.9 PUBLI 174.9
MUJER 158.7 57.3 22.5 418.2 1.1 3 905.1 MOTO 155.7
Elaboremos algunos gráficos de interés con ayuda de esta base de datos. Primero se lee la base de datos.
La información es guardada en el objeto “base” . Para ver parte del archive, por ejemplo las primeras 10 filas,
> base[1:10,]
GENERO ESTATURA MASA EDAD GASTOM TIEMPO ESTRATO INGRESO TIP_VEH GASERV
1 MUJER 168.6 50.7 23.4 394.5 4.4 4 1463.7 BICI 157.8
2 HOMBRE 169.5 75.6 30.7 494.4 11.4 2 607.5 PUBLI 148.5
3 HOMBRE 171.2 73.8 29.0 484.5 29.4 4 1462.8 PUBLI 137.4
4 HOMBRE 155.8 71.8 29.5 512.1 81.3 3 915.9 PUBLI 163.8
5 HOMBRE 165.6 78.3 30.6 495.0 2.7 1 561.6 CARRO 182.4
6 MUJER 153.1 50.6 27.8 405.0 8.9 4 1526.1 CARRO 137.1
7 HOMBRE 185.5 67.2 30.5 502.8 10.9 3 883.2 CARRO 129.3
8 HOMBRE 160.8 74.5 31.5 495.9 21.1 3 929.4 BICI 153.6
9 MUJER 159.5 58.5 27.3 396.9 100.5 3 855.9 PUBLI 174.9
10 MUJER 158.7 57.3 22.5 418.2 1.1 3 905.1 MOTO 155.7
Lo primero es identificar el tipo de variables, puesto que los gráficos asociados a variables discretas es diferente
al de las variables continuas. En esta base se identifican:
Variables Discretas: No hay
Variables categóricas: Género, Estrato, Tipo de vehículo
Variables Continuas: Todas las demás.
El análisis para variables categóricas se hace principalmente con el uso de tablas de frecuencias y diagramas de
barras.
La instrucción en R para elaborar tablas de frecuencias es “table” . Por ejemplo par alas variables Género,
Estrato y Tip_veh:
> table(base[,1])
HOMBRE MUJER
236 164
> table(base[,7])
1 2 3 4 5 6
29 72 148 109 22 20
> table(base[,9])
> table(base[,9])/400
La instrucción “attach” permite que el R reconozca los nombres de las variables contenidas en una base de datos
previamente guardada. Por ejemplo
> attach(base)
> table(TIP_VEH)/400
TIP_VEH
A_PIE BICI CARRO MOTO PUBLI
0.0700 0.1125 0.2100 0.1200 0.4875
> table(GENERO,ESTRATO)
ESTRATO
GENERO 1 2 3 4 5 6
HOMBRE 18 39 92 61 14 12
MUJER 11 33 56 48 8 8
> table(GENERO,ESTRATO)/400
ESTRATO
GENERO 1 2 3 4 5 6
HOMBRE 0.0450 0.0975 0.2300 0.1525 0.0350 0.0300
MUJER 0.0275 0.0825 0.1400 0.1200 0.0200 0.0200
> table(ESTRATO,TIP_VEH,GENERO)
, , GENERO = HOMBRE
TIP_VEH
ESTRATO A_PIE BICI CARRO MOTO PUBLI
1 2 2 3 1 10
2 3 5 9 2 20
3 7 13 22 14 36
4 0 7 14 10 30
5 1 0 4 1 8
6 1 1 3 1 6
, , GENERO = MUJER
TIP_VEH
ESTRATO A_PIE BICI CARRO MOTO PUBLI
1 1 3 2 2 3
2 4 4 2 3 20
3 4 4 9 7 32
4 3 5 14 3 23
5 0 1 1 2 4
6 2 0 1 2 3
> table(ESTRATO,TIP_VEH,GENERO)/400
, , GENERO = HOMBRE
TIP_VEH
ESTRATO A_PIE BICI CARRO MOTO PUBLI
1 0.0050 0.0050 0.0075 0.0025 0.0250
2 0.0075 0.0125 0.0225 0.0050 0.0500
3 0.0175 0.0325 0.0550 0.0350 0.0900
4 0.0000 0.0175 0.0350 0.0250 0.0750
5 0.0025 0.0000 0.0100 0.0025 0.0200
6 0.0025 0.0025 0.0075 0.0025 0.0150
, , GENERO = MUJER
TIP_VEH
ESTRATO A_PIE BICI CARRO MOTO PUBLI
1 0.0025 0.0075 0.0050 0.0050 0.0075
2 0.0100 0.0100 0.0050 0.0075 0.0500
3 0.0100 0.0100 0.0225 0.0175 0.0800
4 0.0075 0.0125 0.0350 0.0075 0.0575
5 0.0000 0.0025 0.0025 0.0050 0.0100
6 0.0050 0.0000 0.0025 0.0050 0.0075
Si se usa esta instrucción para una variable continua, se obtiene un resultado poco útil, sobre todo si se tienen
mucha información.
En el caso continuo, se suelen calcular medidas descriptivas básicas, como medias, medianas, varianzas
muestrales, percentiles, etc.
> summary(base[,c(1,2,3,4,5,6,8,9,10)])
> quantile(ESTATURA,c(0.05,0.1,0.25,0.5,0.75,0.9,0.95))
5% 10% 25% 50% 75% 90% 95%
151.700 154.860 160.725 167.250 174.025 181.820 185.505
Gráficos
Gráficos de Barras.
> barplot(ESTRATO)
> barplot(table(ESTRATO))
> barplot(table(ESTRATO), col=c('blue', 'cyan', 'red', 'green', 'white', 'yellow'))
> barplot(table(ESTRATO)/400, col=c('blue', 'cyan', 'red', 'green', 'white',
'yellow'))
Histogramas
Funciones Relacionadas con Distribuciones
Algunas de las siguientes instrucciones permiten calcular valores de una distribución, probabilidades o
generación de números aleatorios de una distribución particular.
F qf(p,df1,df2,lower.tail=TRUE,log.p=FALSE) rf(n,df1,df2)
T qt(p,df,lower.tail=TRUE,log.p=FALSE) rt(n,df)