Está en la página 1de 45

Introduccin a R

Manizales, Agosto 2014

Qu es R?
R es un entorno de software libre para
computacin y grficos estadsticos. Se compila y
se ejecuta en una amplia variedad de
plataformas Windows, UNIX y MacOS.

R
Se ha convertido durante la ultima dcada en

el programa estadstico de uso general ms


potente, con mucha diferencia sobre los
restantes y tambin el ms verstil.
Es el preferido por la comunidad estadstica
que ha apostado sin reservas por su
desarrollo mediante un esfuerzo colectivo
generoso y desinteresado.

R
Es posible encontrar aplicaciones de inters

para usuarios con necesidades en campos


tan distintos como ecologa, medicina,
ingeniera, biologa, economa, lingstica,
sociologa.
Es el programa estadstico con mayor
capacidad y flexibilidad para la construccin
de grficos.

Comenzando a usar R
Una vez instalado aparecer un cono de acceso

en su escritorio o en inicio-Programas-R.

Existen editores para R.

RStudio

Objetos y Atributos
R trabaja con objetos los cuales tienen nombre, contenido

y atributos.
La accin de una funcin sobre un objeto depende de los
atributos.
Todo objeto tiene dos atributos intrnsecos: tipo y longitud.
El tipo se refiere a la clase bsica de los elementos en el
objeto.
Existen cuatro tipos principales: numrico, caracter,
complejo y lgico.
La longitud es el nmero de elementos en el objeto.

Algunos Objetos son:


Vectores: Cadenas unidimensionales (una sola columna o

fila) de un tipo nico de valores (numricos, caracteres,


etc.)
Matrices: Estructura bidimensional donde todos los datos
deben ser del mismo tipo.
Factores: Fundamental para el anlisis estadstico pues es
la forma como se tratan las variables categricas.
Listas: Colecciones de distintos objetos que pueden ser de
tipos distintos.
Data Frames: Como una matriz pero pudiendo contener
distintos tipos de datos. Comnmente llamados bases de
datos.

Objeto, vector
Ejemplo:

Nombre: x
Contenido: 5, 2, 3, 7, 1
Atributos:
Tipo: Numrico
Longitud: 5
> x = c(5,2,3,7,1)

Caracter
Caracter

> z = "A"
>z
> [1] "A
> w = c("A","F") ; w
>w
[1] "A" "F"

Lgico
> x = TRUE

>x
[1] TRUE
> y = c(FALSE,TRUE)
>y
[1] FALSE TRUE

Complejo
> x = 1i

>x
[1] 0+1i
> x = 2+1i
>x
[1] 2+1i
> y = c(1i,3i)
>y
> [1] 0+1i 0+3i

Funcin is():
> x = c(2,5)

> is(x)
[1] "numeric" "vector
> x = "MARIO"
> is(x)
[1] "caracter" "vector
> x = TRUE
> is(x)
[1] "logical" "vector"

Funcin is():
> x = 1i

> is(x)
[1] "complex" "vector"

Funcin length():
> x = c(2,3,5)
> length(x)
[1] 3

Factores
> x = 1:3
> y = factor(x) ; y
[1] 1 2 3
Levels: 1 2 3
> y = factor(x,labels=c("a","b","c")) ; y

[1] a b c
Levels: a b c
> z = ordered(y,c("b","a","c")) ; z

[1] a b c
Levels: b < a < c

Matrices
> A = matrix(c(2,4,6,8,10,12),nrow=3,ncol=2)

>A
[,1] [,2]
[1,] 2 8
[2,] 4 10
[,3] 6 12
> x = c(2,4,6,8,10,12)
> A = matrix(x,3,2)

Data Frame
> x = c(8,2,5,4)
> y = c("a","b","c","e")
> z = c(1,2,NA,4)
> D = data.frame(x,y,z)
>D

xyz
18a1
22b2
3 5 c NA
44e4

Listas
> x = c(2,4,8)

> y = matrix(c(1,2,3,4),2)
> w = list(x,y) ; w
[[1]]
[1] 2 4 8
[[2]]
[,1] [,2]
[1,] 1 3
[2,] 2 4

Listas con nombres


> w = list("V"=x,"M"=y); w

$V
[1] 2 4 8
$M
[,1] [,2]
[1,] 1 3
[2,] 2 4

Secuencias
> x = 1:10 ; x

[1] 1 2 3 4 5 6 7 8 9 10
> y = 3:-2 ; y
[1] 3 2 1 0 -1 -2

Funcin rep()
> x = rep(3,5) ; x

[1] 3 3 3 3 3
> x = 1:2 ; y <- rep(x,3) ; y
[y] 1 2 1 2 1 2

Series de tiempo
> x = c(.5,1.6,2.1,.9,2.3)

> z = ts(x) ; z
Time Series:
Start = 1
End = 5
Frequency = 1
[1] 0.5 1.6 2.1 0.9 2.3

Series de tiempo
> z = ts(x,freq=4,start=c(1990,2))

>z

Qtr1 Qtr2 Qtr3 Qtr4

1990

0.5 1.6 2.1


1991 0.9 2.3
z = ts(x,freq=12,start=c(1990,10)) ; z
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
1990

1991 0.9 2.3

0.5 1.6 2.1

Operadores
Suma (+) y Resta (-)

> x = c(1,2,3)
> y = c(4,5,6)
>x+y
[1] 5 7 9

Operadores
Multiplicacin (*) y Divisin (/)

>x*y
[1] 4 10 18
>x/y
[1] 0.25 0.40 0.50

Operadores
Exponenciacin (^)

>x^2
[1] 1 4 9
>x^y
[1] 1 32 729
Divisin entera ( %/ % )
> y %/ % x
[1] 4 2 2

Operadores

Multiplicacin de matrices ( %* %)
> A = matrix(1:6,2); A
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> B = matrix(1:6,3); B
[,1] [,2]
[1,] 1 4
[2,] 2 5
[3,] 3 6
> A %* %B
[,1] [,2]
[1,] 22 49
[2,] 28 64

Operadores de comparacin
< : menor

> : mayor
<= : menor o igual
>= : mayor o igual
= =: igual
!= : diferente

Operadores Lgicos
&:y

|:
! : no
all(...)
any(...)

Subndices
Permiten extraer datos de un objeto de diferentes

formas dependiendo de la clase de objeto.


Para vectores
> x = c(5,7,1,4,8,3)
> x[3]
[1] 1
x = c(5,7,1,4,8,3)
> x[-3]
[1] 5 7 4 8 3

Subndices
>x = c(5,7,1,4,8,3)

> x[2:4]
[1] 7 1 4
>x = c(5,7,1,4,8,3)
> x[c(1,5,6)]
[1] 5 8 3
>x = c(5,7,1,4,8,3)
> x[-c(1,5,6)]
[1] 7 1 4

Subndices
>x = c(5,7,1,4,8,3)
> x[x>3]
[1] 5 7 4 8
>x = c(5,7,1,4,8,3)
> y = 1:6

> x[y==3]
[1] 1
>x = c(5,7,1,4,8,3)
> y = 1:6
> x[y!=1]
[1] 7 1 4 8 3

Subndices
Para Matrices

> x = c(5,7,1,4,8,3)
> A = matrix(x,3); A
[,1] [,2]
[1,] 5 4
[2,] 7 8
[3,] 1 3
> A[2,]
[1] 7 8

Subndices
>A

[,1] [,2]
[1,] 5 4
[2,] 7 8
[3,] 1 3
> A[,2]
[1] 4 8 3

Subndices
>A

[,1] [,2]
[1,] 5 4
[2,] 7 8
[3,] 1 3
> A[c(1,3),]
[,1] [,2]
[1,] 5 4
[2,] 1 3

Subndices
Para data frames

> n = c("a", "b","c")


> x = c(2,8,4)
> d = data.frame(n,x)
>d
nx
1a2
2b8
3c4

Subndices
>d$x
[1] 2 8 4
>d
nx
1a2

2b8
3c4
> d[c(1,3),]
nx
1a2
3c4

Subndices
>d

nx
1a2
2b8
3c4
> d[d$n=="b",]
nx
2b8

Importar Objetos
Archivos de Excel con extensin .csv:

> datos = read.csv2("base.csv")


Archivos de texto .txt separados por espacios:
> datos = read.table("base.txt",header=T)
Seleccionar y copiar el rango en el que se

encuentran los datos (Ctrl C) desde Excel y luego


ejecutar el comando:
> datos = read.delim("clipboard")

Directorio de trabajo
R utiliza el directorio de trabajo para leer y

escribir archivos.
Para saber cul es este directorio se puede
utilizar el comando getwd().
Para cambiarlo seleccionamos nuestra carpeta
de trabajo en la ruta Archivo - Cambiar dir....
Se pueden guardar archivos de R en el directorio
de trabajo.
write.table(datos, file = "arch.txt")
write.csv2(datos, file = "arch.csv")

Algunas funciones que R trae


internamente
Funcin logaritmo y exponencial: log(), log10(), exp()
> x = c(0.5,0.8,1,1.2,1.5)
> log(x)
[1] -0.6931472 -0.2231436 0.0000000 0.1823216
0.4054651

> exp(x)
[1] 1.648721 2.225541 2.718282 3.320117 4.481689
Funcin raz cuadrada: sqrt(x)
> sqrt(x)
[1]

0.7071068 0.8944272 1.0000000 1.0954451


1.2247449

Algunas funciones que R trae


internamente
Funciones trigonomtricas: sin(x), cos(x), tan(x),
asin(x), acos(x), atan(x)
> sin(x)
[1] 0.4794255 0.7173561 0.8414710 0.9320391

0.9974950
Funcin suma y producto: sum(x), prod(x)
> sum(x)
[1] 5
> prod(x)
[1] 0.72

Funcin sapply
Aplica una funcin sobre los elementos de un vector:
Raiz cuadrada a los elementos de un vector
> x = 1:6
> sapply(x, sqrt)
[1] 1.000000 1.414214 1.732051 2.000000 2.236068

[6] 2.449490
Logaritmo natural a los elementos de un vector
> sapply(x, log)
[1] 0.0000000 0.6931472 1.0986123 1.3862944
[5] 1.6094379 1.7917595
Aunque esto se puede hacer con sqrt(x) y log(x)

Funcin apply
Aplica una funcin tomando como argumentos las filas o

columnas de una matriz o data frame.


Por ejemplo se pueden sumar los elementos por filas o
columnas de una matriz:
> A = matrix(1:15,3) ; A
[,1] [,2] [,3] [,4] [,5]
[1,] 1 4 7 10 13
[2,] 2 5 8 11 14
[3,] 3 6 9 12 15
> apply(A,1,sum)
[1] 35 40 45
> apply(A,2,sum)
[1] 6 15 24 33 42

Uso de function()
Podemos crear nuestras propias funciones con

diversos resultados como vectores, matrices,


data.frame, etc.
Por ejemplo, creemos la funcin f (x) = x2:
> fx2 = function(x) x^2
> fx2(c(2,4,7,11))
[1] 4 16 49 121

También podría gustarte