Sie sind auf Seite 1von 23

Introducción a

con aplicaciones Estadísticas


Básicas

Claudia Molinari Patricia Girimonte


Facultad de Farmacia y Bioquímica-UBA
1ºCuat 2011
¿Por qué R?
9 Cada vez más presente en las publicaciones científicas.
9Lenguaje orientado a Objetos, lo cual lo hace funcional.
9 Rapidez para los cálculos
9 Muy buenos gráficos
9 Permite combinar en programas desarrollados por el mismo
usuario, las funciones estadísicas ya disponibles.
9 Cubre las más variadas técnicas estadísticas modernas tanto
paramétricas, como no paramétricas, univariadas y multivariadas.
9 Actualizado permanentemente
9 LO MEJOR: ES GRATIS!!
Claudia Molinari-Patricia Girimonte 2
R en el mundo científico

Claudia Molinari-Patricia Girimonte


R en el mundo científico

Claudia Molinari-Patricia Girimonte


R en el mundo científico

Claudia Molinari-Patricia Girimonte


Lenguaje orientado a objetos
Los elementos de un conjunto de datos pueden ser matrices,
vectores, listas. (En SAS por ej, los elementos son números
o palabras) ENTORNO FLEXIBLE PARA EL
ANÁLISIS.
Vector: muestra.pesos
[1] 50.1 52.5 65.0 77.4 61.3 55.8 54.3

Matriz: muestra.pesos muestra.talla


[1,] 50.1 1.60
[2,] 52.5 1.72
[3,] 65.0 1.65
[4,] 77.4 1.80
[5,] 61.3 1.73
[6,] 55.8 1.63
[7,] 54.3 1.74
Claudia Molinari-Patricia Girimonte 6
Data.frame: muestra.pesos muestra.talla
1 50.1 1.60
2 52.5 1.72
3 65.0 1.65
4 77.4 1.80
5 61.3 1.73
6 55.8 1.63
7 54.3 1.74

Arrays: Muestras.tiempo
,,1

[,1] [,2]
[1,] 50.5 1.60
[2,] 52.8 1.72
[3,] 66.1 1.65
[4,] 77.0 1.80
[5,] 61.0 1.73
[6,] 55.8 1.63
[7,] 54.4 1.74

,,2

[,1] [,2]
[1,] 51.3 1.60
[2,] 53.1 1.72
[3,] 66.1 1.65
[4,] 77.2 1.80
[5,] 63.0 1.73
[6,] 55.0 1.63
[7,] 55.2 1.74
7
Claudia Molinari-Patricia Girimonte
Los resultados de los análisis también son objetos:
histograma.talla
$breaks
[1] 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8

$counts
[1] 1 11 76 279 686 1188 1295 965 420 142 33 4

frec.porcentual<-histograma.talla$counts/5100*100
frec.porcentual
[1] 0.01960784 0.21568627 1.49019608 5.47058824 13.45098039 23.29411765
[7] 25.39215686 18.92156863 8.23529412 2.78431373 0.64705882 0.07843137

8
Claudia Molinari-Patricia Girimonte
modelo.lineal<-lm(peso~talla)
> modelo.lineal

Call:
lm(formula = peso ~ talla)

Coefficients:
(Intercept) talla
57.629 -1.799

coeficientes.modelo<-modelo.lineal$coefficients
> coeficientes.modelo
(Intercept) talla
57.628982 -1.798708

ajustados.modelo<-modelo.lineal$fitted.values
> ajustados.modelo[1:10]
1 2 3 4 5 6 7 8 9 10
54.05 54.66 55.24 54.54 54.15 55.06 54.33 54.87 54.45 53.94

9
Claudia Molinari-Patricia Girimonte
Cada vez que uno cierra la sesión nos pregunta:

Salvo que respondamos que no, los objetos que creamos quedan en
forma permanente, así podemos invocarlos y usarlos cada vez que
abrimos la sesión en R.

10
Claudia Molinari-Patricia Girimonte
Gráficos estáticos
Muy buenos gráficos
Gráficos interactivos

11
Claudia Molinari-Patricia Girimonte
¾Gráficos estáticos:

12
Claudia Molinari-Patricia Girimonte
¾Gráficos estáticos:

13
Claudia Molinari-Patricia Girimonte
¾Gráficos interactivos:
Existen funciones que nos permiten interactuar con el
gráfico: ubicar puntos, señalarlos

100
80
60
Y

40
20
0

0 5 10 15 20

14
Claudia Molinari-Patricia Girimonte
Si quiero identificar el dato atípico (outlier)
> locator(1)
$x
[1] 14.06483

$y
[1] 9.672077

Si quiero agregarle una etiqueta:


text(locator(1),"Atípico",adj=0)

15
Claudia Molinari-Patricia Girimonte
16
Claudia Molinari-Patricia Girimonte
Programar
Gran cantidad de funciones

Lenguaje de programación (Ej: if; while; for)

9 Programar para un conjunto de datos específicos


9 Crear nuestras propias funciones

Claudia Molinari-Patricia Girimonte 17


muestra<-c("M","M","F","M","F","M","F","M","F","F")

numerico<-rep(0,10)
for(i in 1:10)
{if(muestra[i]=="M")numerico[i]<-0 else numerico[i]<-1
}

numerico
[1] 0 0 1 0 1 0 1 0 1 1

Pero podemos crear una función que nos sirva para otros vectores similares,
aún de longitud distinta a 10:

18
Claudia Molinari-Patricia Girimonte
#esta función transforma las categorías M y F en 0 y 1 respectivamente.
funcion.trans<-function(vector)
{
n<-length(vector)
numerico<-rep(0,n)
for(i in 1:n)
{if(vector[i]=="M")numerico[i]<-0 else numerico[i]<-1
}
numerico
}

Corremos la función para nuestro vector:


> funcion.trans(muestra)
[1] 0 0 1 0 1 0 1 0 1 1
> muestra.numerica<-funcion.trans(muestra)

19
Claudia Molinari-Patricia Girimonte
LO MEJOR: ES GRATIS!!
http://www.r-project.org/

20
Claudia Molinari-Patricia Girimonte
21
Claudia Molinari-Patricia Girimonte
22
Claudia Molinari-Patricia Girimonte
AHORA EMPECEMOS......

23
Claudia Molinari-Patricia Girimonte

Das könnte Ihnen auch gefallen