Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1º Practica en El Programa R
1º Practica en El Programa R
Algunos comandos de funcionalidad que encontré útiles, para el curso, en R pueden ser:
> 3*(5+8.8)
[1] 41.4
10
5
5 10 15 20
1:20
ESTADÍSTICA DESCRIPTIVA TRABAJO CON LISTAS:
En este caso se esta almacenando la lista que contiene los caudales de un rio al vector que lo
estamos denominando caudal con la sintaxis siguiente:
> caudal<-c(22,22,23,24,25,25,26,27,28,29,29,29,29,29,31,31,32,33,34,35,35,35,36,38,39,
39,42,42,44,44,45, 45,45,47,48,52,59,66,67,69,69)
> length(caudal)
[1] 41
> mean(caudal)
[1] 38.26829
> median(caudal)
[1] 35
> moda<-function(x){
+ tab<-table(x)
+ Mode<-as.numeric(names(tab)[match(max(tab),tab)])
+ return(c(mode=Mode,count=max(tab)))}
> moda(caudal)
mode count
29 5
> range(caudal)
[1] 22 69
> var(caudal)
[1] 171.5512
> sd(caudal)
[1] 13.09776
> quantile(caudal,0.5)
50%
35
> fivenum(caudal)
[1] 22 29 35 45 69
Coeficiente de variación será
> 100*sd(caudal)/mean(caudal)
[1] 34.22613
> summary(caudal)
Min. 1st Qu. Median Mean 3rd Qu. Max.
22.00 29.00 35.00 38.27 45.00 69.00
FUNCIONES GRÁFICAS:
> boxplot(caudal,notch=T,main="ESTUDIO
HIDROLÓ GICO",ylab="caudal(m3/s)",col="orange")
ESTUDIO HIDROLÓGICO
70
60
50
caudal(m3/s)
40
30
Ahora veremos un ejemplo donde se comparan distintos tratamientos para una misma variable a
través de diagramas de caja:
> densidad=c(21.8,21.9,21.7,21.6,21.7,21.5,21.8,21.7,21.4,21.5,21.5,21.9,21.8,21.8,21.6,
21.5,21.9,21.7,21.8,21.7,21.6,21.8)
> temp=c(rep(100,7),rep(125,4),rep(150,5),rep(175,6))
> ladrillos<-data.frame(densidad,temp)
> ladrillos
densidad temp
1 21.8 100
2 21.9 100
3 21.7 100
4 21.6 100
5 21.7 100
6 21.5 100
7 21.8 100
8 21.7 125
9 21.4 125
10 21.5 125
11 21.5 125
12 21.9 150
13 21.8 150
14 21.8 150
15 21.6 150
16 21.5 150
17 21.9 175
18 21.7 175
19 21.8 175
20 21.7 175
21 21.6 175
22 21.8 175
> plot(densidad~temp,data=ladrillos,xlab="TEMPERATURA DE
COCIDO",ylab="DENSIDAD")
> boxplot(densidad~temp,data=ladrillos,main="DIAGRAMA DE CAJA POR TEMPERATURA
DE COCIDO",xlab="TEMPERATURA DE
COCIDO",ylab="Densidad",col=c("yellow","green","orange","pink"))
21.6
21.5
21.4
TEMPERATURA DE COCIDO
> stem(caudal)
The decimal point is 1 digit(s) to the right of the |
2 | 2234
2 | 5567899999
3 | 11234
3 | 5556899
4 | 2244
4 | 55578
5|2
5|9
6|
6 | 6799
> hist(caudal,main="ESTUDIO HIDROLOGICO",xlab="Caudal(m3/s)",ylab="Frecuencia
Rel.",col="goldenrod",probability=T)
> lines(density(caudal),lwd=3)
ESTUDIO HIDROLOGICO
0.04
0.03
Frecuencia Rel.
0.02
0.01
0.00
20 30 40 50 60 70
Caudal(m3/s)
> x<-seq(20,70,1)
> lines(x,dnorm(x,mean=mean(caudal),sd=sqrt(var(caudal))),lty=4,lwd=3)
> lines(x,dlnorm(x,mean=mean(log(caudal)),sd=sqrt(var(log(caudal)))),lty=4,lwd=3,col=
"red")
ESTUDIO HIDROLOGICO
0.04
0.03
Frecuencia Rel.
0.02
0.01
0.00
20 30 40 50 60 70
Caudal(m3/s)
Podemos graficar la curva de cuantiles empíricos de la siguiente manera, según posición de
trazado de Weibull o Cunnane:
> e.ord<-sort(caudal)
> n<-length(caudal)
> fra<-(0:(n-1))/n
> plot(e.ord,fra,main="Curva Frecuencia Relativa Acumulada",type="l")
0.4
0.2
0.0
30 40 50 60 70
e.ord
Grafica de Cuantiles
70
60
50
e.ord
40
30
fra
> fra.weibull=(1:n)/(n+1)
> plot(fra.weibull,e.ord,main="Grafica de Cuantiles - Weibull",type="l")
70
60
50
e.ord
40
30
fra.weibull
> fra.cunnane=((1:n)-0.4)/(n+0.20)
> plot(fra.cunnane,e.ord,main="Grafica de Cuantiles - Cunnane",type="l")
Grafica de Cuantiles - Cunnane
70
60
50
e.ord
40
30
fra.cunnane
> roturam<-c(29.11,40.53,29.93,41.64,32.02,45.54,32.40,48.37,33.06,48.78,34.12,50.98,
35.58,65.35,39.34)
> op<-par(mfrow=c(1,2))
> mean(roturam)
[1] 40.45
> e.ord<-sort(roturam,decreasing=F)
> e.ord
[1] 29.11 29.93 32.02 32.40 33.06 34.12 35.58 39.34 40.53 41.64 45.54 48.37
[13] 48.78 50.98 65.35
> n<-length(roturam)
> fra<-(0:(n-1))/n
> fra
[1] 0.00000000 0.06666667 0.13333333 0.20000000 0.26666667 0.33333333
[7] 0.40000000 0.46666667 0.53333333 0.60000000 0.66666667 0.73333333
[13] 0.80000000 0.86666667 0.93333333
60
0 .6
50
e .o rd
fra
0 .4
40
0 .2
30
0 .0
e.ord fra
> plot(ecdf(roturam),do.points=F,verticals=T)
> x<-seq(25,65,1)
> lines(x,pnorm(x,mean=mean(roturam),sd=sqrt(var(roturam))),lty=3)
ecdf(roturam)
1.0
0.8
0.6
Fn(x)
0.4
0.2
0.0
30 40 50 60