Este es un ejemplo de uso del Lenguaje R. Se generará 50 valores usando una distribución uniforme (valores que oscilan entre cero y uno). De esta manera se crea un objeto identificado con “x”
x <- runif(50)
Ver el contenido del objeto “x”
x
## [1] 0.083087087 0.201452759 0.575220194 0.031231009 0.562546863
## [6] 0.818618947 0.901349426 0.701659684 0.985240621 0.065086105
## [11] 0.063737742 0.495466298 0.174104836 0.074867997 0.249495327
## [16] 0.008965849 0.797146484 0.433022479 0.135825447 0.148925815
## [21] 0.070110747 0.509245868 0.119616551 0.739385056 0.827685845
## [26] 0.999935253 0.151091502 0.133334557 0.300942845 0.591924801
## [31] 0.112402090 0.639453592 0.897211551 0.413309987 0.591817520
## [36] 0.555562590 0.637746988 0.404974214 0.386809997 0.862526800
## [41] 0.659335174 0.591745571 0.279582229 0.130870250 0.035968752
## [46] 0.334034510 0.873236517 0.273420000 0.327851758 0.460695097
Solicitar el resumen de los cinco números (mínimo, cuartil 1, mediana, cuartil 3 y el máximo), además de la media
summary(x)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.008966 0.139100 0.409100 0.428400 0.639000 0.999900
Graficar los 50 valores
plot(x)
Solicitar un histograma
hist(x)
El Lenguaje R funciona mediante la adición de paquetes elaborados por diferentes usuarios. Cada paquete puede realizar operaciones o cálculos específicos. Por ejemplo el paquete “ggplot” permite la creación de gráficos sofisticados. En este caso se solicitará agregar el paquete “vcd” que permite la visualización de datos categóricos
install.packages("vcd")
Solicitar ayuda para comprender el uso de “vcd”
help(package="vcd")
Ahora que el paquete “vcd” está instalado se invoca para su uso
library(vcd)
## Loading required package: grid
Dentro del paquete “vcd” se encuentra la tabla de datos de ejemplo “Arthritis”. Para indagar sobre la estructura de la tabla, es decir, los campos y registros que posee se invoca la ayuda
help("Arthritis")
## starting httpd help server ...
## done
Enseguida se solicita ver el contenido del objeto “Arthritis”. Se debe prestar atención a los cinco campos de la tabla: ID, Treatment, Sex, Age e Improved. Note que solamente se ven los primeros 6 registros
head(Arthritis)
## ID Treatment Sex Age Improved
## 1 57 Treated Male 27 Some
## 2 46 Treated Male 29 None
## 3 77 Treated Male 30 None
## 4 17 Treated Male 32 Marked
## 5 36 Treated Male 46 Marked
## 6 23 Treated Male 58 Marked
Se construirá un objeto llamado “art” que contiene una tabla de contingencia para los campos “Treatment” e “Improved”. Se debe prestar atención a la sintáxis para conseguir la creación del objeto “art”
art<-xtabs(~Treatment + Improved, data=Arthritis)
Ver el contenido del objeto “art”
art
## Improved
## Treatment None Some Marked
## Placebo 29 7 7
## Treated 13 7 21
Se repetirá el procedimiento anterior, ahora incluyendo en la tabla de contingencia los campos “Treatment” y “Sex” en el objeto “art1”
art1<-xtabs(~Treatment + Sex, data=Arthritis)
Ver el contenido del objeto “art1”
art1
## Sex
## Treatment Female Male
## Placebo 32 11
## Treated 27 14
Para el caso de las Ciencias Agronómicas, La Universidad de la Molina de Perú a través de Felipe de Mendiburu ha creado el paquete “agricolae”. Enseguida se instalará este paquete
install.packages("agricolae")
Se invoca para su uso el paquete “agricolae”
library(agricolae)
El paquete “agricolae” incluye una amplia variedad de objetos con tablas de datos de ejemplo. En este caso se usará el objeto “soil”
data(soil)
Para enteder la estructura de la tabla de datos contenida en “soil” se solicita ayuda
help(soil)
Es frecuente la necesidad de contar con la tabla de datos de interés por separado. En este caso se exportará el contenido de “soil” a un archivo en formato “txt”. Para localizar el archivo generado en su computadora ubique la carpeta donde se encuentra instalado el Lenguaje R
write.table(soil, file = "suelo.txt")
Si el interés es generar un archiro en formato “cSV” para ser abierto en Excel, entonces la sintáxis es
write.csv(soil, file = "suelo.csv")
Un objeto en el Lenguaje R puede contener muchos campos. Si el interés es analizar un campo en particular conviene que tales campos sean colocados en la memoria, esto se logra mediante el uso del comando “attach”
attach(soil)
Para verificar que los campos están en memoria se solicita el resumen de los cinco números para la variable “CIC” mediante “summary”
attach(soil)
## The following objects are masked from soil (pos = 3):
##
## Al_H, B, Ca, Ca_Mg, CaCO3, CIC, clay, Cu, EC, Fe, K, K_Mg, K2,
## Mg, Mn, MO, Na, P, pH, place, sand, slime, Zn
También puede colocarse el resultado de “summary” en un nuevo objeto llamado “resumen”. En este caso las medidas calculadas para todos los campos del objeto “soil” serán colocados dentro de este nuevo objeto
resumen<-summary(soil)
Ver el contenido del objeto “resumen”
resumen
## place pH EC CaCO3
## Chmar :1 Min. :3.800 Min. :0.090 Min. :0.000
## Chz :1 1st Qu.:4.700 1st Qu.:0.210 1st Qu.:0.000
## Cnt1 :1 Median :6.100 Median :0.720 Median :0.000
## Cnt2 :1 Mean :6.154 Mean :1.289 Mean :1.708
## Cnt3 :1 3rd Qu.:7.600 3rd Qu.:1.000 3rd Qu.:1.400
## Hco1 :1 Max. :8.400 Max. :7.170 Max. :9.600
## (Other):7
## MO CIC P K
## Min. :1.100 Min. : 5.76 Min. : 3.60 Min. : 28.0
## 1st Qu.:1.700 1st Qu.:13.60 1st Qu.: 8.50 1st Qu.: 65.0
## Median :1.900 Median :17.28 Median :17.50 Median :124.0
## Mean :2.254 Mean :16.17 Mean :20.65 Mean :202.5
## 3rd Qu.:2.500 3rd Qu.:20.00 3rd Qu.:20.10 3rd Qu.:350.0
## Max. :5.400 Max. :25.60 Max. :50.00 Max. :537.0
##
## sand slime clay Ca
## Min. :26.00 Min. :14.00 Min. : 4.00 Min. : 0.740
## 1st Qu.:44.00 1st Qu.:28.00 1st Qu.:10.00 1st Qu.: 7.440
## Median :48.00 Median :32.00 Median :14.00 Median : 9.570
## Mean :51.69 Mean :31.85 Mean :16.46 Mean : 9.296
## 3rd Qu.:58.00 3rd Qu.:38.00 3rd Qu.:24.00 3rd Qu.:12.490
## Max. :80.00 Max. :46.00 Max. :32.00 Max. :17.210
##
## Mg K2 Na Al_H
## Min. :0.130 Min. :0.0900 Min. :0.2400 Min. :0.0000
## 1st Qu.:1.540 1st Qu.:0.1900 1st Qu.:0.2600 1st Qu.:0.0000
## Median :2.060 Median :0.3600 Median :0.2700 Median :0.0000
## Mean :2.422 Mean :0.5077 Mean :0.3569 Mean :0.5308
## 3rd Qu.:3.370 3rd Qu.:0.7600 3rd Qu.:0.3200 3rd Qu.:0.9000
## Max. :6.250 Max. :1.4200 Max. :0.9200 Max. :2.6000
##
## K_Mg Ca_Mg B Cu
## Min. :0.0240 Min. :1.848 Min. :0.000 Min. : 0.400
## 1st Qu.:0.1368 1st Qu.:3.514 1st Qu.:0.400 1st Qu.: 1.500
## Median :0.2846 Median :4.933 Median :0.500 Median : 2.300
## Mean :0.3574 Mean :4.712 Mean :1.185 Mean : 3.131
## 3rd Qu.:0.4916 3rd Qu.:5.846 3rd Qu.:1.100 3rd Qu.: 3.000
## Max. :1.0000 Max. :8.354 Max. :4.900 Max. :12.100
##
## Fe Mn Zn
## Min. : 4.3 Min. : 0.500 Min. : 1.700
## 1st Qu.: 16.3 1st Qu.: 2.100 1st Qu.: 2.900
## Median : 295.4 Median : 4.600 Median : 4.500
## Mean : 444.3 Mean : 5.992 Mean : 8.892
## 3rd Qu.: 352.4 3rd Qu.: 7.900 3rd Qu.: 6.700
## Max. :1715.0 Max. :20.600 Max. :62.200
##
Finalmente como ejemplo se colocará el contenido del objeto “resumen” en un archivo con formato Word. Hay que recordar que para ubicar el archivo generado debe ubicarse la carpeta donde se encuentra instalado el Lenguaje R
capture.output(resumen,file = "resumen.doc")