Sei sulla pagina 1di 47

UNIVERSIDAD DE ORIENTE

NÚCLEO DE MONAGAS

ESCUELA DE INGENIERÍA AGRONÓMICA

DEPARTAMENTO DE INGENIERÍA AGRÍCOLA

INTRODUCCIÓN AL MANEJO DEL PROGRAMA


ESTADÍSTICO “R”

Fecha: 25 de junio del 2011, desde las 8:00 am hasta las 5:00 pm

Lugar: Universidad de Oriente, Sede Juanico, Centro de Postgrado. Maturín – Edo.


Monagas

Desarrollado por: GRUPO-SIGMON-UDO

Conducido por: Ing. José Napoleón Pisani


Introducción a R

R es un lenguaje y un entorno para computación y gráficos estadísticos. Es un proyecto


GNU, que es similar al lenguaje S, desarrollado en los Laboratorios Bell (ex AT & T, ahora
Lucent Technologies) de John Chambers y sus colegas. R puede ser considerado como una
aplicación distinta de S. Hay algunas diferencias importantes, pero muchos códigos escritos
para S corren inalteradamente en R.

R ofrece una gran variedad de estadísticas (modelos lineales y no lineales, pruebas


estadísticas clásicas, análisis de series temporales, clasificación, agrupación, entre otras) y
técnicas gráficas, y es altamente extensible. El lenguaje S es a menudo el vehículo de
elección para la investigación en metodología estadística, y R proporciona una ruta de
código abierto a la participación en esa actividad.

R está disponible como software libre bajo los términos de la GNU Free Software
Foundation Licencia Pública General en forma de código fuente. Se compila y se ejecuta en
una amplia variedad de plataformas UNIX y sistemas similares (como FreeBSD y Linux),
Windows y MacOS.

R & S, están diseñados en torno a un lenguaje de programación real, y permite a los


usuarios añadir funcionalidad adicional mediante la definición de nuevas funciones. Gran
parte del sistema es en sí misma por escrito en el dialecto S, que facilita a los usuarios a
seguir las decisiones algorítmicas hechas. Para las tareas de cómputo intensivo, C, C + + y
Fortran se puede vincular y llamar en tiempo de ejecución. Los usuarios avanzados pueden
escribir el código C para manipular objetos R directamente.

Muchos usuarios piensan de R como un sistema de estadísticas. Preferimos pensar en ello


de un entorno en el que las técnicas estadísticas se aplican. R se puede extender
(fácilmente) a través de paquetes. Hay cerca de ocho paquetes suministrados con la
distribución de R y muchos más están disponibles a través de la familia CRAN de sitios de
Internet que cubren una gama muy amplia de la estadística moderna.
Descarga e instalación de “R”.

El software estadístico “R” (R Project), puede ser descargado de manera gratuita a través de
la siguiente dirección electrónica: http://cran.r-project.org/bin/windows/base/

La versión a descargar es la 2.13 (la última hasta ahora), las cuales presentas dos versiones
dependiendo de la arquitectura del sistema operativo que utilice el usuario, en este caso
Windows xp. Las mencionadas arquitecturas son de 32 y 64 bits.

El archivo a descargar es un ejecutable (archivo en formato “exe”) cuyo “peso” no excede


los 40 mb.

La instalación del software “R” en Windows es muy similar a la instalación de cualquier


otro programa en el sistema operativo antes mencionado. Al finalizar la instalación, por
defecto, se crea un ícono de acceso directo en el escritorio del computador del usuario. La
ventana principal del software “R” puede ser detallada en la imagen a continuación.

Figura 1. Ventana principal de R


Descarga e instalación de “R”.

Una vez instalado el programa, el usuario puede incrementar el poder gráfico o estadístico
de “R” mediante la instalación de librerías denominadas “paquetes” (packages). Cada
paquete posee instrucciones específicas para el análisis bien sea gráfico o estadístico que el
usuario desee realizar y que la versión instalada de “R” por sí sola no puede hacer.

Existen varias maneras de instalar los mencionados paquetes. La primera de ellas consiste
en acceder al menú PAQUETES de “R” y seleccionar la opción “Instalar paquete (s)”.
Seguidamente es necesario seleccionar un “depositario” (lugar donde se encuentran los
paquetes) para posteriormente ubicar en una lista ordenada alfabéticamente el paquete que
necesitamos (Figura 2). Posteriormente se selecciona el mismo y a medida que termine la
descarga del paquete, este se instalará en el software.

Figura 2. Lista de paquetes disponibles

Si el paquete en cuestión requiere de la instalación de paquetes adicionales, el programa


automáticamente descargará e instalará dichos paquetes. Para instalar paquetes de esta
manera es indispensable una conexión a internet.
La segunda alternativa para la descarga e instalación de paquetes en “R” es acceder a la
página web CRAN (Comprehensive R Archive Network). La misma posee la siguiente
dirección electrónica: http://cran.r-project.org/

Una vez ingresado en dicha página web, se selecciona la opción “packages” (paquetes).
Seguidamente se desplegará una lista en orden alfabético en donde se muestran todos los
paquetes disponibles. Basta con seleccionar el deseado y seleccionar la opción “Windows
binary” si fuera el caso del sistema operativo presente en nuestra pc.

Seleccionada la opción antes mencionada, se despliega una ventana para ejecutar la


descarga de un archivo en formato rar. Finalizada la descarga, en la ventana del software
“R”, en el menú PAQUETES, se selecciona la opción “Instalar paquete(s) a partir de zip
locales”.

Finalmente, se seleccionan los archivos comprimidos descargados y “R” los instala


automáticamente.

Manipulación de datos con R.

Tabla 1. Precipitación en mm, estación climatológica de Jusepin-Edo Monagas. INAMEH

AÑO ENE FEB MAR ABR MAY JUN JUL AGO SEP OCT NOV DIC

1941 63 18 9 0 66 227 199 100 47 84 74 76


1942 22 8 2 54 165 220 280 221 177 89 101 76
1943 92 72 1 0 318 142 342 200 67 91 47 49
1944 45 3 7 29 79 292 119 138 163 34 129 18
1945 4 3 13 71 158 230 166 171 170 87 75 96
1946 32 11 3 35 210 196 193 330 82 104 30 84

Una de las maneras de introducir un conjunto de datos en “R” es a través de vectores. Los
mismos son una cadena de caracteres que comienzan con el comando “c” seguida de un
paréntesis y al finalizar el conjunto de datos, se cierra el paréntesis. Lo dicho anteriormente
se aprecia con más claridad en el código que a continuación se muestra, introduciendo los
valores tomados de la tabla anterior, específicamente los valores del año 1941, desde el mes
de enero hasta el mes de diciembre.
precipitación= c (63, 18, 9, 0, 66, 227, 199, 100, 47, 84, 74, 76)

Cada uno de los valores introducidos, debe estar separado por una coma “,” ya que para el
software, dicho símbolo es el separador de caracteres. Para ingresar un número decimal,
basta con ingresar un punto “.” como separador de decimales.

El vector antes mencionado puede ser llamado de acuerdo al usuario, colocando letras
mayúsculas o minúsculas y palabras acentuadas o no. Es de acotar que si son utilizadas
palabras complejas, las mismas deben ser utilizadas para “llamar” al conjunto de datos de
interés durante todo el análisis realizado en el programa.

Para analizar el vector creado anteriormente (precipitación), a continuación se muestran los


comandos para calcular estadísticos básicos:

mean (promedio)
var (variancia)
sd (desviación estandar)
max (valor máximo)
min (valor mínimo)
summary (resumen)

En el software estadístico “R”, el resultado sería el siguiente:

mean (precipitación)
[1] 80.25
var (precipitación)
[1] 4826.932
sd (precipitación)
[1] 69.47612
max(precipitación)
[1] 227
min(precipitación)
[1] 0
summary (precipitación)

Min. 1st Qu. Median Mean 3rd Qu. Max.


0.00 39.75 70.00 80.25 88.00 227.00
Gráficos de barras.

El comando utilizado en “R” para generar gráficos de barras es el denominado barplot.


Cada uno de los caracteres que acompañan a dicho comando se muestran en la lista a
continuación.

barplot (height, width = 1, space = NULL, names.arg = NULL, legend.text = NULL,


beside = FALSE, horiz = FALSE, col = heat.colors (NR), border = par ("fg"), main =
NULL, sub = NULL, xlab = NULL, ylab = NULL, xlim = NULL, ylim = NULL, axes =
TRUE, axisnames = TRUE, inside = TRUE, ...)

1. height: Vector o matriz de valores que describen las barras.


2. width: Es opcional, para especificar mediante un vector el ancho de las barras.
3. width: Es opcional, para especificar mediante un vector el ancho de las barras.
4. names.arg: Un vector de nombres para colocarlos debajo de cada barra o grupo de
barras. Si se omite, entonces los nombres son tomados de los atributos de nombres
que este en contenidos en el objeto especificado en “height”.
5. legend.text: Un vector de texto para construir una leyenda para el gráfico. Solo es
útil si “height” es una matriz, en cuyo caso las leyendas corresponderán a sus filas.
6. beside: Un valor lógico. Si es “FALSE” las columnas de “height” serán
representadas por barras apiladas y si es “TRUE” entonces serán representadas por
barras yuxtapuestas.
7. horiz: Un valor lógico. Si es “FALSE” las barras son dibujadas verticalmente.
8. col: Para especificar un vector de colores para las barras.
9. border: Para indicar el color a ser usado en los bordes de las barras.
10. main,sub: Para titular y subtitular el gráfico.
11. xlab: Para dar nombre al eje x.
12. ylab: Para dar nombre al eje y.
13. xlim: Para delimitar el rango de valores en el eje x.
14. ylim: Para delimitar el rango de valores en el eje y.
15. axes: Argumento lógico. Si es “TRUE”, dibuja el correspondiente eje.
barplot (precipitación)

Figura 3. Gráfico de barras por defecto a través del comando barplot

barplot (precipitación, xlab= c ("Meses"), ylab= c ("Precipitación en mm"))

Figura 4. Gráfica de barras una vez modificada la etiqueta del eje X & Y

barplot (precipitación, xlab= c ("Meses"), ylab= c ("Precipitación en mm"), ylim= c (0,


300), names.arg= c ("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep",
"Oct", "Nov", "Dic"), col= c ("blue"), main= c ("Precipitación del año 1941. Jusepin, Edo-
Monagas"))
Figura 5. Gráfico de barras editado según el usuario.

Importar datos desde un directorio.


El software estadístico “R” posee la capacidad de importar un conjunto de datos, siempre y
cuando los mismos estén en un orden específico que permita su posterior análisis gráfico o
estadístico.
La manera más utilizada para importar datos desde un directorio es a través del comando
read.table; el mismo hace referencia a que la lectura de los datos van a ser leídos en
formato tabla.
Para especificar en cuál carpeta se encuentra el conjunto de datos, es necesario seleccionar
la opción “Cambiar directorio”, dicha opción está ubicada en la ficha “Archivos” en la
barra de herramientas de la ventana principal de “R”.
Al seleccionar dicha opción, inmediatamente se desplegará una ventana para seleccionar la
carpeta contenedora del archivo que contiene los datos. Se recomienda que los archivos de
datos que se importen a “R” sean en formato texto (.txt) para asegurar el correcto
funcionamiento del código y la perfecta lectura de los datos.

Para importar los datos contenidos en la tabla 1, se utilizó el siguiente código:


jusepin=read.table ("precipitación inameh.txt”, header= T, row.names= c ("1941",
"1942", "1943", "1944", "1945", "1946"))
attach (jusepin)
jusepin

El resultado de la importación de los datos es similar al mostrado en la figura a


continuación.

Figura 6. Datos de la tabla 1 una vez importados a R


Tinn-R.

Tinn-R es un software de dominio público cuyo objetivo es hacer más ameno el ambiente
del usuario cuando se trata de programación en lenguaje C. Es por esta razón, que Tinn-R
es utilizado como un gestor de códigos para “R” y una vez construidos, el mismo en
enviado al programa antes mencionado y así no tener que escribir las líneas de comando
repetidas veces en cada ocasión que se requiera un análisis bien sea estadístico o gráfico
similar.

Tinn-R puede ser descargado de manera gratuita a través de la siguiente dirección


electrónica: http://www.sciviews.org/Tinn-R/
Es recomendable la instalación de la versión 1.17 ya que esta es la más estable para la
plataforma Windows.

Figura 7. Ventana principal de Tinn-R

Cada una de las columnas del conjunto de datos mencionado anteriormente puede ser
analizadas por serado a través de los comandos estadísticos ya conocidos (mean, var, sd,
min, max, summary). Para generar un gráfico de barras múltiple (que contenga todos los
valores importados) es necesario transformar el conjunto de datos mediante el comando
as.matrix y luego utilizar el comando barplot. Es código para generar dicho gráfico es el
siguiente:

jusepin = read.table ("precipitación inameh.txt", header = T,


row.names = c ( "1941", "1942", "1943", "1944", "1945", "1946" ))
attach (jusepin)
jusepin

datos2 = as.matrix (jusepin)


barplot (datos2, beside = T, col = rainbow (20) , xlab = c ("Meses"), ylab = c
("Precipitación en mm"), ylim = c (0, 350), main = c ("Comparación de la precipitación
registrada en la estación climatológica de Jusepin 1941-1946"))

El resultado de dicho código es la figura a continuación.

Figura 8. Gráfico de barra múltiple

Gráficos circulares.

El comando comúnmente utilizado para hacer gráficos circulares es denominado pie (tarta o
torta). Dicho código posee ciertos caracteres para personalizar el gráfico resultante, los
cuales se describen a continuación.

pie (x, labels = names(x), shadow = FALSE, edges=200, radius=0.8, col=NULL, main=
NULL, ...)

1. x: Vector de cantidades positivas, los cuales son presentados como las áreas en el
gráfico.
2. labels: Un vector de caracteres “strings” que dan nombres a las áreas.

3. shadow: Un vector lógico que indica si un efecto de sombrea será aplicado para el
gráfico, cuando se utilizan colores de relleno.

4. edges: Aproxima la linea exterior circular mediante un polígono con el número de


lados especificado, que por defecto es 200.

5. radius: La torta es dibujada centrada en una caja cuadrada cuyos lados se mueven
de -1 a 1. Si se usan etiquetas largas puede ser necesario usar radios más pequeñoos.

6. col: Un vector de colores, para rellenar los sectores del gráfico.

7. main: Para dar título al gráfico.

Para ilustrar un ejemplo de cómo realizar un gráfico circular, se utilizó el código que a
continuación se menciona, utilizando los datos de mes de Enero (ENE) desde 1941-1946
presentes en la tabla 1.

pie (ENE, labels= c ("1941","1942","1943","1944","1945","1946") ,col= c("green","blue",


"red","orange","violet","brown"), main=c("Representación porcentual de la precipitación
en Jusepin. Mes de enero 1941-1946"))

Figura 9. Gráfico circular en 2D


Instalando el paquete plotrix, es posible hacer una representación gráfica circular en 3D. El
código a utilizar para generar dicho gráfico es el siguiente:

pie3D (ENE, labels=c("1941","1942","1943","1944","1945","1946") ,col= c ("green"


,"blue","red","orange","violet","brown"), main=c("Representación porcentual de la
precipitación registrada en Jusepin para el mes de enero 1941-1946"), labelcex=2.0,
explode=0.15)

Figura 10. Gráfico circular en 3D

Gráficos de superficie.

Para generar gráficos de superficie, es necesario la instalación de paquetes que permitan el


análisis gráfico de un gran volumen de datos y la representación de los mismos en 3D o en
un sistema de coordenadas que incluya el eje “Z”.

Uno de los gráficos de superficie clásicos se puede realizar instalando el paquete lattice. La
base de datos a utilizar es el modelo digital de elevación (MDE) descargado de la página
web de la GLCF de la cuenca del río Aréo.
Dicho MDE fue manipulado con el software de dominio público Grass Gis y exportado del
mismo en formato xyz para ser analizado gráficamente en “R”.

El código para visualizar el gráfico de superficie de una parte del MDE de la cuenca del río
Aréo es el siguiente:

mde=read.table("srtm2.r", header=T)

attach(mde)

summary(mde)

wireframe (cota [1:20000] ~ este [1:20000] * norte [1:20000], data = mde, xlab =
"Coordenada Este", ylab = "Coordenada Norte", zlab="Cota", main = "Gráfico de
superfice. Cuenca del río Areo", drape = TRUE, col.regions = terrain.colors(100), screen
= list(z = -30, x = -70))

Figura 11. Gráfico de superficie. Cuenca del río Areo


El paquete lattice permite generar un gráfico de superficie en 2D a través del comando
levelplot. El código a continuación fue construido para plotear todos los puntos de la
cuenca del río Aréo con una degradación de colores, que va desde el verde hasta el blanco.
Dicha degradación permite visualizar el incremento en la altura de la superficie estudiada.

levelplot (cota ~ este * norte, data = mde, xlab = "Coordenada Este", ylab = "Coordenada
Norte", zlab="Cota", main = "Gráfico de superfice. Cuenca del río Areo", col.regions =
terrain.colors(100))

Figura 12. Modelo digital de elevación de la cuenca del río Areo.

La gráfica anterior puede ser analizada en 3D mediante la instalación del paquete rgl. El
mismo, permite un ploteo en 3D de todo en conjunto de puntos que integran el MDE de la
cuenca en cuestión. El código utilizado y la gráfica resultante se muestran a continuación.
points3d(este,norte,4*cota, col="black")

Figura 13. Gráfica 3D de la cuenca del río Areo

Gráficos de caja.

El software estadístico “R” posee la habilidad de generar gráficas de caja a través del
comando boxplot. Dicho gráfico es representado por un rectángulo que se encuentra unido a
dos líneas paralelas a través de una línea vertical que por lo general es punteada o
segmentada. Los valores observados en el gráfico (de abajo hacia arriba) son los siguientes:

a) Línea inferior del intervalo: valor mínimo.


b) Línea inferior del rectángulo: primer cuartil.
c) Línea media del rectángulo: mediana.
d) Línea superior del rectángulo: tercer cuartil.
e) Línea superior del intervalo: valor máximo.

El valor promedio de cada grupo de datos no es representado en este tipo de gráfico,


aunque es posible anexarlo a través de una línea de código inmediatamente después del
código para crear el gráfico principal. A continuación, se muestra el código utilizado para
realizar dicho gráfico utilizando los valores de precipitación antes mencionados.
boxplot (datos2, col = c("bisque“), main = c (“Diagrama de caja de la precipitación
registrada en la estación climatológica de Jusepin 1941-1946""), xlab = c("Meses"), ylab
= c("Precipitación en mm“))

points(promedios, col="orange", pch=18)

Figura 14. Ploteo de caja.

Histogramas.

Un histograma es un gráfico de barras en donde se representa la frecuencia de un conjunto


de datos. El comando hist es el comúnmente utilizado para crear este tipo de gráficos. A
continuación, se muestra el código utilizado, teniendo como base, el conjunto de datos
presentes el MDE de la cuenca del río Areo.

hist (cota, breaks=70, freq=T, col=c("bisque"), ylab=c("Frecuencia (número de


pixeles)"), xlab=c("Eleveación (m)"), main=c("Histograma del MDE de la cuenca del río
Areo"))
Figura 15. Histograma del MDE de la cuenca del río Areo.

ANÁLISIS DE DISEÑO EXPERIMENTAL.

Introducción.

Los modelos de diseño de experimentos son modelos estadísticos clásicos cuyo objetivo es
averiguar si unos determinados factores influyen en una variable de interés y, si existe
influencia de algún factor, cuantificar dicha influencia.

Unos ejemplos donde habría que utilizar estos modelos son los siguientes:

1. Se quiere estudiar el rendimiento (ton/ha) de un cultivar en una zona específica con


determinados sistemas de siembra y fertilización.

2. En el rendimiento de un determinado tipo de máquina (unidades producidas por


día): se desea estudiar la influencia del trabajador que la maneja y la marca de la
máquina.

3. Se quiere estudiar la influencia de un tipo de pila eléctrica y de la marca, en la


duración de las pilas.
Conceptos básicos.

1. Unidad experimental: son los objetos, individuos, intervalos de espacio o tiempo


sobre
2. los que se experimenta.
3. Variable de interés o respuesta: es la variable que se desea estudiar y controlar su
4. variabilidad.
5. Factor: son las variables independientes que pueden influir en la variabilidad de la
variable de interés.
6. Factor tratamiento: es un factor del que interesa conocer su influencia en la
respuesta.
7. Factor bloque: es un factor en el que no se está interesado en conocer su influencia
8. en la respuesta pero se supone que ésta existe y se quiere controlar para disminuir la
9. variabilidad residual.
10. Niveles: cada uno de los resultados de un factor. Según sean elegidos por el
experimentador o elegidos al azar de una amplia población se denominan factores
de efectos fijos o factores de efectos aleatorios.
11. Observación experimental: es cada medición de la variable respuesta.
1. Tamaño del Experimento: es el número total de observaciones recogidas en el
diseño.

DISEÑOS EXPERIMENTALES CLÁSICOS.

Prueba de T.

̅ − 𝛍𝟎
𝐘
𝐭= 𝐒
𝐘

En donde:

t = valor calculado de la prueba t.


Y = media calculada usando los datos experimentales

S/Y = error típico o estándar de la muestra

∑ 𝒀𝒊
̅=
𝒀
𝒏

𝑺 𝑺
=
𝒀 √𝒏

En donde:

S = desviación típica.

n = número de observaciones.

𝑺 = √𝑺𝟐

En donde:

S2 = variancia.

(∑ 𝒀𝒊 )𝟐
∑ 𝒀𝒊 𝟐 −
𝒏
𝑺𝟐 =
𝒏−𝟏

Ejercicio 1. El tiempo de vida de una gaseosa resulta de interés para su fabricante. 10


botellas fueron seleccionadas aleatoriamente para determinar el tiempo de duración de las
mismas. El fabricante afirma que la duración de la bebida es igual a 125 días. ¿Puede ser
rechazada la hipótesis nula?
Los resultados de la durabilidad de la bebida se muestran a continuación:

días
108
124
124
106
115
138
163
159
134
139

Código utilizado:

datos1= read.table (“Ejercicio 1.txt", header=T)

attach (datos1)

pruebaT= t.test (duración, alternative= c("two.sided"), mu=125)

pruebaT
ANÁLISIS DE DOS MUESTRAS.

En donde:

Sp = desviación típica combinada o conjunta.

Sp2 = variancia combinada o conjunta.

Ejercicio 2. La resistencia a la rotura de un componente eléctrico constituye una


característica importante de un cierto proceso. Un fabricante utiliza un material nuevo de
fabricación frente al material clásico. Se recoge una muestra de 10 elementos usando el
primer componente y otra de 10 elementos usando el segundo componente.

Se pretende averiguar si existen diferencias significativas entre ambos tratamientos a nivel


de resistencia.
CN CA
16.85 17.50
16.40 17.63
13.21 18.25
16.35 18.00
16.52 17.86
17.04 17.75
16.96 18.22
17.15 17.90
16.59 17.96
16.57 18.15

Código utilizado:

datos2= read.table ("Ejercicio 2.txt", header=T)

attach (datos2)

datos2

pruebaT= t.test (CN,CA, alternative=c("two.sided"), conf.level=0.95)

pruebaT
Prueba de homogeneidad de varianza.

En base al ejercicio anterior, se realizará la prueba de homogeneidad de variancias.

pruebaF= var.test (CN,CA, alternative= c ("two.sided"), conf.level=0.95)

pruebaF
Diseño completamente aleatorizado (DCA).

El experimentador asigna las unidades experimentales a los tratamientos al azar. La única


restricción es el número de observaciones que se toman en cada tratamiento.

Respuesta = Constante + Efecto Tratamiento + Error experimental

Ejercicio 4. Se realizó un experimento para estudiar la efectividad de tres insecticidas para


matar moscas. Para ello, cada grupo de insecticidas es aplicado a 100 moscas, para
posteriormente contar las moscas muertas y expresar el resultado en porcentaje. Se utilizó
un diseño completamente aleatorizado (DCA) con 3 tratamientos y 6 evaluaciones por
tratamiento.

Insecticida Observaciones

1 72 65 67 75 62 73

2 55 59 68 70 53 50

3 64 74 61 58 51 69
Código utilizado:

datos4=read.table ("Ejercicio 4.txt", header= T)

attach (datos4)

datos4

moscas = c (insecticida.I, insecticida.II, insecticida.III)

insecticidas = rep ( c ("insecticida.I", "insecticida.II", "insecticida.III"), c (6,6,6))

insecticidas = factor (insecticidas)

DCA= aov (moscas~insecticidas)

summary (DCA)

Fuente de
Df Sum Sq Mean Sq F value Pr(>F)
variación

Insecticidas 2 296.33 148.167 2.7933 0.09307

Residuals 15 795.67 53.044

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

1 - 0.1 = ns

0.1 - 0.05 = probablemente significativo .

0.05 - 0.01 = moderadamente significativo *

0.01 - 0.001 = altamente significativo **

0.001 - 0 = extremadamente significativo ***


Diseño de bloques al azar (DBA).

En este diseño el experimentador agrupa las unidades experimentales en bloques, a


continuación determina la distribución de los tratamientos en cada bloque y, por último,
asigna al azar las unidades experimentales a los tratamientos dentro de cada bloque.

Respuesta = Constante + Efecto Bloque + Efecto Tratamiento + Error experimental

Ejercicio 6. Se realiza un experimento para determinar el efecto de cuatro sustancias


químicas diferentes sobre la resistencia de una tela. Las sustancias se emplean como parte
del proceso terminal de planchado permanente. Para ello, se escogen cinco muestras de tela
y se aplica un diseño aleatorizado por bloques completos mediante la prueba de cada
sustancia en un orden aleatorio sobre cada una de las muestras de tela. Se probará la
diferencia en las medias utilizando para ello el análisis de la varianza con α = 0,05. Los
datos aparecen a continuación.
Sustancias/Muestra I II III IV V

A 1.3 1.6 0.5 1.2 1.1

B 2.2 2.4 0.4 2 1.8

C 1.8 1.7 0.6 1.5 1.3

D 3.9 4.4 2 4.1 3.4

Código utilizado:

datos= read.table ("Ejercicio 6.txt", header= T)

attach (datos)

datos

DBA= aov (resistencia ~ sustancia + bloque)

summary (DBA)

Fuente de
Df Sum Sq Mean Sq F value Pr(>F)
variación

Sustancia 3 18.044 6.0147 75.895 4.518e-08 ***

Bloque 4 6.693 1.6733 21.114 2.319e-05 ***

Residuals 12 0.951 0.0793

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Diseño de cuadrado latino (DCL).

En ocasiones hay dos (o más) fuentes de variación lo suficientemente importantes como


para ser designadas factores de bloqueo. En tal caso, ambos factores bloque pueden ser
cruzados o anidados.

Los factores bloque están cruzados cuando existen unidades experimentales en todas las
combinaciones posibles de los niveles de los factores bloques.

Respuesta = Constante + Efecto Bloque Fila + Efecto Bloque Columna + Efecto


Tratamiento + Error
Ejercicio 8. Una compañía de transporte está interesada en determinar cual marca de
neumático tiene mayor duración, midiendo el desgaste. Para ello se planea un diseño de
cuadrado latino en donde se comparan las cuatro marcas de neumáticos sometidos a una
prueba de 32.000 km de recorrido, utilizando cuatro automóviles diferentes y utilizando las
cuatro posiciones posibles en el automóvil. El factor de interés es la marca del neumático,
se controlan dos factores de bloques, el tipo de carro y la posición del neumático en el
carro.

Carro
Posición
1 2 3 4

DD C 12 D 11 A 13 B 8

DI B 14 C 12 D 11 A 3

TD A 17 B 14 C 10 D 9

TI D 13 A 14 B 13 C 9

datos= read.table ("Ejercicio 8.txt", header= T)

attach (datos)

datos

DCL= aov (desgaste ~ carro + posición + neumático)

summary (DCL)
Fuente de
Df Sum Sq Mean Sq F value Pr(>F)
variación

Carro 3 103.688 34.562 6.8272 0.02317 *

Posición 3 16.187 5.396 1.0658 0.43088

Neumático 3 5.687 1.896 0.3745 0.77492

6 30.375 5.062
Residuals

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Diseño de arreglo factorial.

En algunas ocasiones se está interesado en estudiar la influencia de dos (o más) factores


tratamiento, para ello se hace un diseño de filas por columnas. En este modelo es
importante estudiar la posible interacción entre los dos factores. Si en cada casilla se tiene
una única observación no es posible estudiar la interacción entre los dos factores, para
hacerlo hay que replicar el modelo, esto es, obtener k observaciones en cada casilla, donde
k es el número de réplicas.

Respuesta = Constante + Efecto Factor Fila + Efecto Factor Columna + Efecto


Interacción + Error experimental
Ejercicio 10. Se aplican pinturas tapaporos para aeronaves en superficies de aluminio, con
dos métodos: inmersión y rociado. La finalidad de la pintura es mejorar la adhesión de la
pintura, y puede aplicarse en algunas partes utilizando cualquier método. El grupo de
ingeniería de procesos responsable de esta operación está interesado en saber si existen
diferencias entre las tres pinturas diferentes en cuanto a sus propiedades de adhesión.

Para investigar el efecto que tienen el tipo de pintura tapaporos y el método de aplicación
sobre la adhesión de la pintura, se realiza un diseño factorial. Para ello, se pintan tres
muestras con cada tapaporo utilizando cada método de aplicación, después se aplica una
capa final de pintura y a continuación se mide la fuerza de adhesión. Los datos son los
siguientes:

Métodos
Pinturas
Inmersión Rociado

1 4.0 4.5 4.3 5.4 4.9 5.6

2 5.6 4.9 5.4 5.8 6.1 6.3

3 3.8 3.7 4.0 5.5 5.0 5.0


datos= read.table ("Ejercicio 10.txt", header= T)

attach (datos)

datos

DAF= aov (adhesión ~ tratamientos * métodos)

summary (DAF)

Fuente de variación Df Sum Sq Mean Sq F value Pr(>F)

Tratamientos 2 4.5811 2.2906 27.8581 3.097e-05 ***

Métodos 1 4.9089 4.9089 59.7027 5.357e-06 ***

Tratamientos*Métodos 2 0.2411 0.1206 1.4662 0.2693

Residuals 12 0.9867 0.0822

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Pruebas de promedio.

“Todas las pruebas de promedio están contenidas en la librería agricole”.

1. Mínima diferencia significativa (LSD) = LSD.test

2. Diferencia honesta significativa (HSD) = HSD.test

3. Prueba de Student-Newman-Keuls = SNK.test

4. Nueva prueba de rangos múltiples de Duncan = duncan.test

5. Prueba de Waller-Duncan = waller.test

6. Comparación de tratamientos múltiples de Durbin = durbin.test

7. Comparación de tratamientos múltiples de Friedman = friedman


8. Comparación de tratamientos múltiples de Kruskal-Wallis = kruskal

9. Comparaciones múltiples de Scheffe = scheffe.test

Ejercicio 12. La tabla a continuación es el resultado de un arreglo factorial en caña de


azúcar (Sacharum sp) donde intervienen 3 factores. Uno de los factores consiste en 3
niveles de nitrógeno (80, 120 y 160 Kg/Ha), un segundo factor en dos niveles de fósforo (0
y 40 Kg/Ha) y un tercer factor de dos niveles de potasio (0 y 80 Kg/Ha). Esto es un
factorial de los llamados p x q x r (3 x 2 x 2).

Combinaciones Bloques

de tratamientos I II III

80-0-0 31.56 31.89 32.49

80-40-0 33.30 32.72 32.81

80-0-80 33.46 30.88 30.99

80-40-80 33.08 34.00 33.25

120-0-0 28.98 30.93 30.61

120-40-0 31.29 35.27 25.09

120-0-80 33.42 33.92 36.18

120-40-80 33.40 33.81 35.77

160-0-0 33.83 30.50 31.68

160-40-0 25.13 31.58 34.00

160-0-80 33.83 36.31 34.43

160-40-80 34.75 35.47 36.15


datos=read.table("Ejercicio 3 Vilacha.txt", header=T)

attach(datos)

datos

DAF=aov(rendimiento~bloques+N*P+N*K+P*K+N*P*K)

summary(DAF)

cv=cv.model(DAF)

summary (lm(rendimiento~bloques+N*P+N*K+P*K+N*P*K))

Df Sum Sq Mean Sq F value Pr(>F)

Bloques 2 5.452 2.726 0.5245 0.599085

N 2 3.783 1.892 0.3639 0.699069

P 1 0.689 0.689 0.1325 0.719298

K 1 67.898 67.898 13.0622 0.001538 **

N:P 2 5.549 2.774 0.5337 0.593820

N:K 2 30.382 15.191 2.9224 0.074897 .

P:K 1 1.579 1.579 0.3038 0.587059

N:P:K 2 3.225 1.613 0.3102 0.736443

Residuals 22 114.357 5.198

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

C.V. = 6.974835 R2 = 0.509


LSD.test (DAF,"N",group=T)

LSD t Test for rendimiento

Mean Square Error: 5.198029

N Rendimiento Std.Err Replication LCL UCL

i 32.53583 0.2886737 12 31.93716 33.13451

ii 32.38917 0.9209238 12 30.47929 34.29905

iii 33.13833 0.8968834 12 31.27831 34.99836

alpha: 0.05 ; Df Error: 22

Critical Value of t: 2.073873

Least Significant Difference 1.930305

Means with the same letter are not significantly different.

Groups Treatments Means

a iii 33.13833

a i 32.53583

a ii 32.38917
LSD.test(rendimiento,N:P:K,22,5.198)

LSD t Test for rendimiento

Mean Square Error: 5.198

N:P:K Rendimiento Std.Err Replication LCL UCL

i:i:i 31.98000 0.2722132 3 31.41546 32.54454

i:i:ii 31.77667 0.8422655 3 30.02992 33.52342

i:ii:i 32.94333 0.1802159 3 32.56959 33.31708

i:ii:ii 33.44333 0.2826266 3 32.85720 34.02946

ii:i:i 30.17333 0.6037752 3 28.92118 31.42549

ii:i:ii 34.50667 0.8490256 3 32.74590 36.26744

ii:ii:i 30.55000 2.9619138 3 24.40737 36.69263

ii:ii:ii 34.32667 0.7313078 3 32.81003 35.84331

iii:i:i 32.00333 0.9747877 3 29.98175 34.02492

iii:i:ii 34.85667 0.7470237 3 33.30743 36.40590

iii:ii:i 30.23667 2.6471767 3 24.74676 35.72658

iii:ii:ii 35.45667 0.4042002 3 34.61841 36.29493

alpha: 0.05 ; Df Error: 22

Critical Value of t: 2.073873

Least Significant Difference 3.860599


Means with the same letter are not significantly different.

Groups Treatments Means

a iii:ii:ii 35.45667

a iii:i:ii 34.85667

a ii:i:ii 34.50667

ab ii:ii:ii 34.32667

abc i:ii:ii 33.44333

abc i:ii:i 32.94333

abc iii:i:i 32.00333

abc i:i:i 31.98

abc i:i:ii 31.77667

bc ii:ii:i 30.55

c iii:ii:i 30.23667

c ii:i:i 30.17333

Diseño factorial con parcelas Sub-sub divididas.

Para estudiar el rendimiento de 2 cultivares de ají dulce bajo un sistema de riego por goteo,
se utilizó un diseño de parcelas sub-sub-dividas en donde intervienen 3 factores. El primero
de ellos son los cultivares con 2 niveles (Perú 92 y Diamon). El segundo de ellos consiste
en las láminas de riego utilizadas, con 4 niveles (60, 70, 80 y 100 % Eto). Adjunto a esto,
se consideró la utilización del acolchado plástico negro como un tercer factor, con dos
niveles (Con acolchado plástico y Sin acolchado plástico). Los valores obtenidos en campo
se muestran en la tabla a continuación.
Estrategias de riego

Lámina 1 Lámina 2 Lámina 3 Lámina 4

Cobertura
BI BII BIII BI BII BIII BI BII BIII BI BII BIII
del suelo

Perú 92 (Rendimiento de frutos kg)

Acolchado 4,77 7,59 5,51 3,89 4,65 4,42 8,20 7,96 9,07 6,36 7,01 8,14

S/Acolchado 4,59 3,01 4,03 4,33 5,34 6,05 5,06 3,48 5,67 8,64 4,39 6,48

Diamond (Rendimiento de frutos kg)

Acolchado 1,80 2,42 3,54 2,92 2,96 3,77 5,05 3,26 4,48 4,38 3,91 4,54

S/Acolchado 3,17 2,56 2,65 2,74 2,56 3,53 3,19 2,61 3,55 2,95 2,78 5,10

Plaza (2011).

Factor variedad: 2 niveles (Magistral y Darcy)

Factor acolchado: 2 niveles (Con y Sin acolchado)

Factor riego: 4 nieveles (60, 70, 80 y 100% Eto)

Parcela principal = Variedades y bloques

Sub – parcela = acolchado plástico

Sub – sub – parcela = láminas de riego

datos12=read.table("parcelas sub-sub divididas.r", header=T)

attach(datos12)

datos12
DAFPD=aov(rendimiento~cultivares+bloques+acolchado+acolchado*cultivares+

Error((bloques/(bloques*cultivares))/(acolchado/(acolchado*cultivares)))+

riego+cultivares*riego+acolchado*riego+cultivares*acolchado*riego)

summary(DAFPD)

Fuentes de variación Df Sum Sq Mean Sq F value Pr(>F)

Bloques 2 6.2501 3.1250

Variedades 1 70.616 70.616 935.9 0.001 **

Residuals (parcela) 2 0.151 0.075

Acolchado 1 10.2121 10.2121 5.9723 0.07091 .

Variedades*Acolchado 1 2.4571 2.4571 1.4370 0.29679

Residuals (sub-parcela) 4 6.8396 1.7099

Riego 3 23.8211 7.9404 11.5817 6.874e-05 ***

Variedades*riego 3 2.9831 0.9944 1.4504 0.253017

Acolchado*Riego 3 11.4912 3.8304 5.5870 0.004722 **

Variedades*Acolchado*Riego 3 7.3206 2.4402 3.5592 0.029181 *

Residuals (sub-sub parcela) 24 16.4544 0.6856

Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
duncan.test(rendimiento,cultivares,2,0.075)

Study:

Duncan's new multiple range test

for rendimiento

Mean Square Error: 0.075

Cultivares Rendimiento Std.err Replication

diamond 3.350833 0.1761000 24

peru.92 5.776667 0.3582919 24

alpha: 0.05 ; Df Error: 2

Critical Range

0.3398621

Means with the same letter are not significantly different.

Groups Treatments Means

a peru.92 5.776667

b diamond 3.350833
duncan.test(rendimiento,riego,24, 0.6856)

Study:

Duncan's new multiple range test

for rendimiento

Mean Square Error: 0.6856

Riego Rendimiento Std.Err Replication

100.Eto 5.390000 0.5550130 12

60.Eto 3.803333 0.4667673 12

70.Eto 3.930000 0.3119125 12

80.Eto 5.131667 0.6307317 12

alpha: 0.05 ; Df Error: 24

Critical Range

2 3 4

0.6976669 0.7327600 0.7552914

Means with the same letter are not significantly different.

Groups Treatments Means

a 100.Eto 5.39

a 80.Eto 5.131667

b 70.Eto 3.93

b 60.Eto 3.803333
duncan.test(rendimiento,acolchado:riego,24, 0.6856)

Study:

Duncan's new multiple range test

for rendimiento

Mean Square Error: 0.6856

Acolchado*Riego Rendimiento Std.Err Replication

acolchado:100.Eto 5.723333 0.6926792 6

acolchado:60.Eto 4.271667 0.8730461 6

acolchado:70.Eto 3.768333 0.2938187 6

acolchado:80.Eto 6.336667 0.9686233 6

s/acolchado:100.Eto 5.056667 0.9116603 6

s/acolchado:60.Eto 3.335000 0.3296842 6

s/acolchado:70.Eto 4.091667 0.5755775 6

s/acolchado:80.Eto 3.926667 0.4810174 6

alpha: 0.05 ; Df Error: 24

Critical Range

2 3 4 5 6 7 8

0.986650 1.036279 1.068143 1.090650 1.107450 1.120447 1.130750


Means with the same letter are not significantly different.

Groups Treatments Means

a acolchado:80.Eto 6.336667

ab acolchado:100.Eto 5.723333

bc s/acolchado:100.Eto 5.056667

cd acolchado:60.Eto 4.271667

cd s/acolchado:70.Eto 4.091667

d s/acolchado:80.Eto 3.926667

d acolchado:70.Eto 3.768333

d s/acolchado:60.Eto 3.335

duncan.test(rendimiento,cultivares:acolchado:riego,24, 0.6856)

Study:

Duncan's new multiple range test

for rendimiento

Mean Square Error: 0.6856


Cultivares*Acolchado*Riego Rendimiento Std.err Replication

diamond:acolchado:100.Eto 4.276667 0.1890620 3

diamond:acolchado:60.Eto 2.586667 0.5091605 3

diamond:acolchado:70.Eto 3.216667 0.2769075 3

diamond:acolchado:80.Eto 4.263333 0.5279625 3

diamond:s/acolchado:100.Eto 3.610000 0.7466146 3

diamond:s/acolchado:60.Eto 2.793333 0.1901169 3

diamond:s/acolchado:70.Eto 2.943333 0.2979001 3

diamond:s/acolchado:80.Eto 3.116667 0.2738207 3

peru.92:acolchado:100.Eto 7.170000 0.5200321 3

peru.92:acolchado:60.Eto 5.956667 0.8441432 3

peru.92:acolchado:70.Eto 4.320000 0.2250185 3

peru.92:acolchado:80.Eto 8.410000 0.3371943 3

peru.92:s/acolchado:100.Eto 6.503333 1.2269248 3

peru.92:s/acolchado:60.Eto 3.876667 0.4625053 3

peru.92:s/acolchado:70.Eto 5.240000 0.4990324 3

peru.92:s/acolchado:80.Eto 4.736667 0.6525420 3

alpha: 0.05 ; Df Error: 24

Critical Range

2 3 4 5 6 7 8

1.395334 1.465520 1.510583 1.542412 1.566171 1.584551 1.599122


9 10 11 12 13 14 15

1.610876 1.620476 1.628386 1.634942 1.640395 1.644936 1.648714

16

1.651846

Means with the same letter are not significantly different.

Groups Treatments Means

a peru.92:acolchado:80.Eto 8.41

ab peru.92:acolchado:100.Eto 7.17

bc peru.92:s/acolchado:100.Eto 6.503333

bcd peru.92:acolchado:60.Eto 5.956667

cde peru.92:s/acolchado:70.Eto 5.24

def peru.92:s/acolchado:80.Eto 4.736667

efg peru.92:acolchado:70.Eto 4.32


efg diamond:acolchado:100.Eto 4.276667
efg diamond:acolchado:80.Eto 4.263333
efgh peru.92:s/acolchado:60.Eto 3.876667
fgh diamond:s/acolchado:100.Eto 3.61
fgh diamond:acolchado:70.Eto 3.216667
gh diamond:s/acolchado:80.Eto 3.116667
gh diamond:s/acolchado:70.Eto 2.943333
gh diamond:s/acolchado:60.Eto 2.793333

h diamond:acolchado:60.Eto 2.586667