Beruflich Dokumente
Kultur Dokumente
prompt
para terminar una sesin en R
Muestra todos los objetos creados previamente en R y que fueron guardados en una sesin
pasada.
Borra los objetos indicados en parntesis y separados por comas.
Signo de asignacin. Lo que est al lado derecho se asigna al lado izquierdo.
En el paquete R las maysculas son diferentes a las minsculas. 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.
Suponga que las siguientes instrucciones se escribieron previamente
en un archivo de texto. Suponga que la ruta del archivo es:
c:/comandos.txt. En este archivo estn las instrucciones:
Para leer estas instrucciones en R usamos la instruccin source:
> source(c:/comandos.txt )
En
Parntesis
se
especifica la ruta del archivo
> ls()
Para ver los objetos creados
La entrada o lectura de los datos puede hacerse directamente en el teclado o leyendo de un archivo externo.
1. Desde un archivo externo
Suponga que se tiene informacin acerca del
Estrato e Ingreso de un grupo de hombres y
informacin
se
encuentra
en
el
a:/METODOS/datos1.txt . Para leer los datos
escriben los siguientes comandos:
Sexo, edad,
mujeres. La
archivo:
desde R se
Para leer los datos NUMERICOS a una matrz (en este caso de tres columnas),
escribimos:
> mat<-matrix(scan("a:/metodos/datos2.txt", skip=T),ncol=3,
byrow=T)
Read 33 items
> mat
El resultado aparece al lado derecho.
Si los datos aparecen separados por algn otro carcter (una coma, punto y coma, etc.), usamos la opcin
sep= , entre comillas se coloca el smbolo de separacin. Por ejemplo:
> dat1<-scan("a:/metodos/datos1.txt", what=list("", 1,1,1),
skip=T, sep=,)
> dat1<-scan("a:/metodos/datos1.txt", what=list("", 1,1,1),
skip=T, sep=;)
Para acceder a cualquiera de las columnas de dat, se coloca entre corchetes el nmero correspondiente a la
columna:
Otra funcin muy til es read.table, la cual permite leer estructuras ms 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:
La instruccin header=T indica que la primera fila
contiene los nombres de las variables.
La presentacin del objeto es en forma de tabla.
Para acceder a una columna en particular se
escribe el nombre del objeto y entre corchetes el
nmero de la columna de inters:
> Dat1[1]
Secuencias de Nmeros
> s1 <- 2:20
> s2 <- 25:5
Para llamar estos objetos usamos el comando source ( ruta del archivo)
Manipulacin de Datos
Algunos operadores usados en R son:
Operador
+
*
^
/
%/%
%%
|
!
&&
Funcin
Suma
Resta
Multiplicacin
Exponenciacin
Divisin
Divisin Entera
Operador Mdulo
(lgica)
no
Si el primer operando es cierto se
evala el segundo
Lenguaje Vectorizado
> x <- seq(1,10,by=O.8)
> y <- c(1,3,5,7,9,11.13.15)
> z <- x+y
Operador
<
>
<=
>=
==
!=
&
all ()
any ()
||
Funcin
Menor que
Mayor que
Menor o igual
Mayor o igual
Igual
Diferente
y (lgica)
Todos los referenciados
Ninguno de los referenciados
Si el primer operando es falso se
evala el segundo
Subndices
>
>
>
>
>
Primer elemento de x
Elementos 1 a 3
Solo los positivos
Se elimina el primer elemento
Elimina el elemento 1 y 3
x[1]
x[1:3]
x[x>0]
x[-1]
x[-c(1,3)]
Otras funciones
max()
min()
sum()
mean()
var()
median()
quantile(, probs=c() )
prod()
length()
ncol()
nrow()
summary()
Mximo
Mnimo
Suma
Media
Varianza
Mediana
Cuantiles del argumento
Producto de todos los elementos
Longitud del objeto o nmero de elementos
Nmero de columnas del objeto
Nmero de filas del objeto
Estadsticas bsicas
Funciones de redondeo
ceiling(x)
floor(x)
round(x,)
signif(x, digits=)
trunc(x)
Funciones de matrices
> x5 <- seq(3,10, by=0.5)
> x6 <- matriz(x5, ncol=3, byrow=T)
ncol indica el nmero 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 smbolos usuales hasta ahora mencionados. Las operaciones de
suma, resta, multiplicacin, divisin, exponenciacin, se realizan elemento a elemento.
> c <-a+b
> c1 <-a*b
> c2 <- 2*a-3*b+3
> a%*%b
> t(a)
Traza de a
> crossprod(a,b)
> c5$d
> c5$u
> diag(c5$d)
Valores propios
Vectores propios
Crea una matriz diagonal cuya diagonal son los elementos de c5$d
> c5$v
Inversa de la matriz c4
> c4%*%c6
> round(c4%*%c6)
> x1
> sort(x1)
Ordena el vector x1
Pegando matrices.
> a
> b
> cbind(a,b)
> rbind(a,b)
> mat
Grficos en R
Considere una base de datos que contiene informacin 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 continuacin:
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 grficos de inters con ayuda de esta base de datos. Primero se lee la base de datos.
> base[1:10,]
1
2
3
4
5
6
7
8
9
10
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
Lo primero es identificar el tipo de variables, puesto que los grficos asociados a variables discretas es diferente
al de las variables continuas. En esta base se identifican:
Variables Discretas: No hay
Variables categricas: Gnero, Estrato, Tipo de vehculo
Variables Continuas: Todas las dems.
El anlisis para variables categricas se hace principalmente con el uso de tablas de frecuencias y diagramas de
barras.
La instruccin en R para elaborar tablas de frecuencias es table . Por ejemplo par alas variables Gnero,
Estrato y Tip_veh:
> table(base[,1])
HOMBRE
236
MUJER
164
> table(base[,7])
1
29
2
3
4
72 148 109
5
22
6
20
> table(base[,9])
A_PIE
28
BICI CARRO
45
84
MOTO PUBLI
48
195
> table(base[,9])/400
A_PIE
BICI CARRO
MOTO PUBLI
0.0700 0.1125 0.2100 0.1200 0.4875
La instruccin 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
Tablas de doble entrada.
> 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
1 0.0050
2 0.0075
3 0.0175
4 0.0000
5 0.0025
6 0.0025
BICI
0.0050
0.0125
0.0325
0.0175
0.0000
0.0025
CARRO
0.0075
0.0225
0.0550
0.0350
0.0100
0.0075
MOTO
0.0025
0.0050
0.0350
0.0250
0.0025
0.0025
PUBLI
0.0250
0.0500
0.0900
0.0750
0.0200
0.0150
CARRO
0.0050
0.0050
0.0225
0.0350
0.0025
0.0025
MOTO
0.0050
0.0075
0.0175
0.0075
0.0050
0.0050
PUBLI
0.0075
0.0500
0.0800
0.0575
0.0100
0.0075
, , GENERO = MUJER
TIP_VEH
ESTRATO A_PIE
1 0.0025
2 0.0100
3 0.0100
4 0.0075
5 0.0000
6 0.0050
BICI
0.0075
0.0100
0.0100
0.0125
0.0025
0.0000
Si se usa esta instruccin para una variable continua, se obtiene un resultado poco til, sobre todo si se tienen
mucha informacin.
En el caso continuo, se suelen calcular medidas descriptivas bsicas, como medias, medianas, varianzas
muestrales, percentiles, etc.
> summary(base[,c(1,2,3,4,5,6,8,9,10)])
GENERO
HOMBRE:236
MUJER :164
ESTATURA
Min.
:140.2
1st Qu.:160.7
Median :167.2
Mean
:167.7
3rd Qu.:174.0
Max.
:199.0
TIEMPO
Min.
: 0.20
1st Qu.: 9.00
Median : 22.45
Mean
: 32.81
3rd Qu.: 45.30
Max.
:299.40
MASA
Min.
:37.80
1st Qu.:55.60
Median :69.15
Mean
:66.70
3rd Qu.:76.60
Max.
:92.50
INGRESO
Min.
: 528.0
1st Qu.: 622.3
Median : 911.7
Mean
:1103.0
3rd Qu.:1500.6
Max.
:2336.4
TIP_VEH
A_PIE: 28
BICI : 45
CARRO: 84
MOTO : 48
PUBLI:195
EDAD
Min.
:16.50
1st Qu.:25.60
Median :28.10
Mean
:28.11
3rd Qu.:30.70
Max.
:41.90
GASTOM
Min.
:368.7
1st Qu.:402.9
Median :489.3
Mean
:458.7
3rd Qu.:501.3
Max.
:523.5
GASERV
Min.
:111.0
1st Qu.:140.7
Median :150.2
Mean
:150.3
3rd Qu.:160.9
Max.
:200.1
> 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
> quantile(ESTATURA,c(0.05,0.1,0.25,0.5,0.75,0.9,0.95), type=1)
5%
10%
25%
50%
75%
90%
95%
151.7 154.5 160.5 167.2 174.0 181.8 185.5
Grficos
Grficos 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
Distribucin
Densidad
Uniforme
dunif(x,min=0,max=1,log=FALSE)
Normal
dnorm(x,mean=0,sd=1,log=FALSE)
Binomial
Lognormal
Beta
Geomtrica
Gamma
dbinom(x,size,prob,log=FALSE)
dlnorrn(x, meanlog =0, sdlog = 1, log
= FALSE)
dbeta(x, shape1, shape2, ncp=0, log =
FALSE)
dgeom(x, prob, log = FALSE)
Ji cuadrado
Exponencial
Hipergeom
T
Poisson
Weibull
Binom. Neg.
Funcin Acumulada
punif(q,min=0,max=1, lower.tail
=TRUE,log.p = FALSE)
pnorm(q, mean=0, sd=1, lower.tail =
TRUE, log.p = FALSE)
pbinom(q, size, prob, lower.tail =TRUE,
log.p = FALSE)
plnorrn(q, meanlog=0, sdlog =
1,lower.tail = TRUE, log.p =FALSE)
pbeta(q, shape1, shape2, ncp=0,
lower.tail = TRUE, log.p - FALSE)
pgeom(q, prob, lower.tail = TRUE, log.p
= FALSE)
pgamma(q, shape, scale=l, lower.tail =
TRUE, log.p = FALSE)
pchisq(q, df, ncp=0, lower.tail=TRUE,
log.p=FALSE)
pexp(q, rate = 1, lower.tail=TRUE, log.p
= FALSE)
pf(q, df1, df2, ncp=0,
lower.tail=TRUE,log.p = FALSE)
phyper(q, m, n, k, lower.tail = TRUE,
log.p = FALSE)
pt(q, df, ncp=0, lower.tail = TRUE,
log.p = FALSE)
ppois(q, lambda,lower.tail = TRUE, log.p
= FALSE)
pweibull(q, shape, scale =1, lower.tail
= TRUE, log.p = FALSE)
pnbinom(q, size, prob, mu, lower.tail=
TRUE, log.p = FALSE)
Distribucin
Nmeros Aleatorios .
Uniforme
qunif(p,min=0,max=l,lower.tail=TRUE,log.p=FALSE)
runif(n,min=0,max=l)
Normal
qnorm(p,mean=0,sd=1,lower.tail=TRUE,log.p=FALSE)
rnorm(n,mean=0,sd=l)
Binomial
qbinom(p,size,prob,lower.tail=TRUE,log.p=FALSE)
rbinom(n,size,prob)
Lognormal
qlnorm(p,meanlog=0,sdlog=1,lower.tail=TRUE,log.p=F)
rlnorm(n,meanlog=0,sdlog=1)
Beta
qbeta(p,shape1,shape2,lower.tail=TRUE,log.p=FALSE)
rbeta(n,shape1,shape2)
qgeom(p,prob,lower.tail=TRUE,log.p=FALSE)
rgeom(n,prob)
qgamma(p,shape,scale=1,lower.tail=TRUE,log.p=FALSE)
rgamma(n,shape,scale=1)
JI cuadrado
qchisq(p,df,ncp=0,lower.tail=TRUE,log.p=FALSE)
rchisq(n,df,ncp=0)
Exponencial
qexp(p,rate=1,lower.tail=TRUE,log.p=FALSE)
rexp(n,rate=1)
qf(p,df1,df2,lower.tail=TRUE,log.p=FALSE)
rf(n,df1,df2)
qhyper(p,m,n,k,lower.tail=TRUE,log.p=FALSE)
rhyper(nn,m,n,k)
qt(p,df,lower.tail=TRUE,log.p=FALSE)
rt(n,df)
Poisson
qpois(p,lambda,lower.tail=TRUE,log.p= FALSE)
pois(n,lambda)
Weibull
weibull(p,shape,sca1e=1,lower.tail=TRUE,log.p=FALSE)
rweibull(n,shape,scale=1)
qnbinom(p,size,prob,mu,lower.tail=TRUE,loq.p=FALSE)
rnbinom(n,size,prob,mu)
Geomtrica
Gamma
Hipergeom
T
Binom.Neg.
Donde:
p:
m: