Está en la página 1de 8

OPERACIONES ARITMÉTICAS:

Algunos comandos de funcionalidad que encontré útiles, para el curso, en R pueden ser:

> 3*(5+8.8)
[1] 41.4

Asignamos y trabajamos con valores


> g=9.81
> m=40
> f=m*g
>f
[1] 392.4

Combinar valores en un vector


> a=c(1,2,3,4,5,6,7,8,9)
> b=a*2
>b
[1] 2 4 6 8 10 12 14 16 18
> ls() Lista de objetos en la hoja de trabajo
[1] "a" "b" "f" "g" "m"
> rm(f,m,a,b) Este comando remueve los objetos
> 1:88 Este comando genera una secuencia de números en este caso del 1 al 88
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
[26] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
[51] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
[76] 76 77 78 79 80 81 82 83 84 85 86 87 88
> seq(4,32,by=4)
[1] 4 8 12 16 20 24 28 32

Visualización de algunos colores y símbolos disponibles


> plot(1:20,1:20,pch=1:20,col=1:20)
20
15
1:20

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:

Graficando diagramas de caja (box plot)


El diagrama de caja (box-plot en Inglés) es la forma gráfica de los cinco números, como
podemos ver en la figura 1 la caja muestra los percentiles 25avo y 75avo, la línea en el medio de
la caja es la mediana (percentil 50avo), los extremos muestran los valores mínimo y máximo.

> 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"))

DIAGRAMA DE CAJA POR TEMPERATURA DE COCIDO


21.9
21.8
21.7
Densidad

21.6
21.5
21.4

100 125 150 175

TEMPERATURA DE COCIDO

Graficando diagramas de tallo y hoja


Otra opción, muy utilizada por estadísticos, es el diagrama de tallo y hoja (stem-andleaf plot en
inglés), en R se puede calcular de esta forma:

> 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")

Curva Frecuencia Relativa Acumulada


1.0
0.8
0.6
fra

0.4
0.2
0.0

30 40 50 60 70

e.ord

> plot(fra,e.ord,main="Grafica de Cuantiles",type="l")

Grafica de Cuantiles
70
60
50
e.ord

40
30

0.0 0.2 0.4 0.6 0.8 1.0

fra
> fra.weibull=(1:n)/(n+1)
> plot(fra.weibull,e.ord,main="Grafica de Cuantiles - Weibull",type="l")

Grafica de Cuantiles - Weibull

70
60
50
e.ord

40
30

0.0 0.2 0.4 0.6 0.8 1.0

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

0.0 0.2 0.4 0.6 0.8 1.0

fra.cunnane

Ahora graficaremos la curva de frecuencia relativa acumulada, para el problema de la rotura de


madera:

> 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

> plot(e.ord,fra,main="Curva Frecuencia Relativa Acumulada",type="l")


> x<-seq(25,70,1)
> lines(x, pnorm(x, mean=mean(roturam),sd=sqrt(var(roturam))),lty=3,lwd=3)
> e.ord=sort(roturam)
> n=length(roturam)
> fra=(0:(n-1))/n
> plot(fra,e.ord,main="Grafica de Cuantiles",type="l")

Curva Frecuencia Relativa Acumulada Grafica de Cuantiles


0 .8

60
0 .6

50
e .o rd
fra

0 .4

40
0 .2

30
0 .0

30 40 50 60 0.0 0.2 0.4 0.6 0.8

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

También podría gustarte