Documente Academic
Documente Profesional
Documente Cultură
2-0)
F elipe de M endiburu(1)
2014-06-30
Indice
Prefacio
1. Introducci
on
1.1. Instalaci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Uso en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Estadstica descriptiva
2.1. Histogram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. Manejando escalas
4.1. La reproducci
on de histogramas y el uso de hist() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
13
5. Dise
no de experimentos
14
5.1. Dise
no completamente aleatorizado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
5.2. Dise
no de bloques completos al azar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
5.3. Dise
no cuadrado latino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
5.4. Dise
no Greco-latino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
5.5. Dise
no de bloque incompleto balanceado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
5.6. Dise
no Ciclico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
5.7. Dise
no Latice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
5.8. Dise
no Alfa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
5.9. Dise
no de bloques Aumentados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
5.10. Dise
no de parcelas divididas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
Tutorial de agricolae(Versi
on 1.2-0)
5.11. Dise
no bloques divididos o franjas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
5.12. Factorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
6. comparaciones m
ultiples
30
31
6.2. Bonferroni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
34
6.4. Student-Newman-Keuls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
36
37
38
6.8. Comparaci
on m
ultiple de tratamientos en factorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
41
42
45
52
7. comparaciones no param
etricas
55
7.1. Kruskal-Wallis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
7.2. Friedman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
7.3. Waerden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
58
7.4. Durbin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
8. An
alisis de Estabilidad
61
61
62
8.3. AMMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
9. Funciones especiales
64
64
9.2. Montecarlo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
68
9.4. Simulaci
on en el modelo lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
68
69
72
73
9.9. Correlaci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
74
76
C
odigo para caracteres ASCII
83
Tutorial de agricolae(Versi
on 1.2-0)
Bibliografa
84
Indice de figuras
1.
2.
Densidad de frecuencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.
R-agricolae(graph.freq) y R-base(hist) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.
10
5.
Polgono Comparaci
on con densidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
6.
ogive y 5 clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
7.
13
8.
14
9.
combinado clone:nitrogen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
10.
Comparaci
on entre los tratamientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
11.
Tratamientos agrupados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
12.
49
13.
Grupos de Tratamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
14.
Comparaci
on seg
un Kruskal-Wallis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
15.
Biplot y Triplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
16.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
17.
Dendrograma, la producci
on por consenso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
18.
Dendrograma, producci
on por hcut() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
19.
dendrograma Clasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
20.
dendrograma Clasico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
21.
Distribuci
on de la simulaci
on y los datos originales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
22.
72
23.
78
24.
Funci
on de Waller para diferentes valores de los parametros K y Fc . . . . . . . . . . . . . . . . . . . .
AUDPC: Area
bajo la curva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25.
lateblight: LATESEASON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
81
26.
82
80
Tutorial de agricolae(Versi
on 1.2-0)
Prefacio
El siguiente documento fue desarrollado para facilitar el uso del paquete agricolae en R, se entiende que el usuario conoce
la metodologa estadstica para el dise
no y analisis de experimentos y mediante el uso de las funciones programadas en
agricolae facilitar la generaci
on de la libro de campo seg
un el dise
no experimental y su analisis. En la primera parte se
describe el uso de la funci
on graph.freq que es complementaria a la funcion hist para facilitar la recopilacion y tabla
de frecuencias, histograma de datos agrupados y graficos como el polgono de frecuencias y ogive; la segunda parte
corresponde al desarrollo del dise
no experimental y la numeracion de las unidades como se utiliza en experimentos
agrcolas y una tercera parte corresponde a las pruebas comparativas entre tratamientos, funciones como estabilidad de
cultivares, estudio de homogeneidad del suelo, dise
nos geneticos, simulacion del tizon tardo en el cultivo de papa y otros.
1.
Introducci
on
1.1.
Instalaci
on
El programa principal de R debe ser instalado en la plataforma de su computador (Windows, Linux o MAC). Si no
esta instalado, Usted puede bajar desde el proyecto R (www.r-project.org) de un repositorio del CRAN.
>install.packages(.agricolae") Una vez instalado el paquete agricolae, este debe ser accesible en una sesi
on
de R con la orden:
> library(agricolae)
Para facilidades de ayuda o detalles de una orden en particular (tal como la funcion waller.test) Usted puede
escribir:
> help(package="agricolae")
> help(waller.test)
Para una completa funcionalidad de agricolae requiere de otros paquetes.
MASS: para la inversa generalizada utilizada en la funcion PBIB.test
nlme: para los metodos REML y LM en PBIB.test
klaR: para la funci
on triplot usada en la funcion AMMI
akima: para la funci
on interpp usada en grid3p para interpolacion
Cluster: para la funci
on consensus
spdep: para la relaci
on entre los genotipos en biplot de la funcion AMMI
Tutorial de agricolae(Versi
on 1.2-0)
1.2.
Uso en R
[1]
[4]
[7]
[10]
"design.ab"
"design.crd"
"design.graeco"
"design.rcbd"
"design.alpha"
"design.cyclic"
"design.lattice"
"design.split"
"design.bib"
"design.dau"
"design.lsd"
"design.strip"
1.3.
> A<-as.data.frame(data(package="agricolae")$results[,3:4])
> A[,2]<-paste(substr(A[,2],1,35),"..",sep=".")
> head(A)
Item
Title
1
CIC
Data for late blight of potatoes...
2
Chz2006
Data amendment Carhuaz 2006...
3 ComasOxapampa
Data AUDPC Comas - Oxapampa...
4
DC Data for the analysis of carolina g...
5 Glycoalkaloids
Data Glycoalkaloids...
6
Hco2006
Data amendment Huanuco 2006...
2.
Estadstica descriptiva
El paquete agricolae proporciona algunas funciones complementarias para el programa R, especficamente para la
gesti
on del histograma.
2.1.
Histogram
Tutorial de agricolae(Versi
on 1.2-0)
> apropos("freq")
[1]
[3]
[5]
[7]
[9]
[11]
[13]
"frequency"
"graph.freq"
"join.freq"
"normal.freq"
"plot.graph.freq"
"stat.freq"
"summary.graph.freq"
"frequency.polygon"
"intervals.freq"
"nclass.freq"
"ogive.freq"
"polygon.freq"
"sturges.freq"
"table.freq"
1
2
3
4
5
6
virus yield
cc 28.5
cc 21.7
cc 23.0
fc 14.9
fc 10.6
fc 13.1
'data.frame':
12 obs. of 2 variables:
$ virus: Factor w/ 4 levels "cc","fc","ff",..: 1 1 1 2 2 2 3 3 3 4 ...
$ yield: num 28.5 21.7 23 14.9 10.6 13.1 41.8 39.2 28 38.2 ...
> # Editar su contenido: fix(sweetpotato)
Ejemplo. Los datos generados en R. (peso de los estudiantes).
> peso<-c( 68, 53, 69.5, 55, 71, 63, 76.5, 65.5, 69, 75, 76, 57, 70.5, 71.5, 56, 81.5, 69, 59,
+ 67.5, 61, 68, 59.5, 56.5, 73, 61, 72.5, 71.5, 59.5, 74.5, 63)
> print(summary(peso))
Min. 1st Qu.
53.00
59.88
Median
68.00
> print(h1)
$breaks
[1] 53.0 57.8 62.6 67.4 72.2 77.0 81.8
$counts
[1] 5 5
3 10
$mids
[1] 55.4 60.2 65.0 69.8 74.6 79.4
Max.
81.50
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
>
>
par(mfrow=c(1,2),mar=c(4,3,0,1),cex=0.6)
h1<- graph.freq(peso,col="yellow",frequency=1,las=2,xlab="h1")
h2<- graph.freq (peso, frequency =2, axes= FALSE,las=2,xlab="h2")
polygon.freq(h2, col="blue", lwd=2, frequency =2)
TIC<- h2$breaks[2]- h2$breaks[1]
axis(1,c(h2$mids[1]-TIC, h2$mids, h2$mids[6]+TIC ),cex=0.6)
axis(2, cex=0.6,las=1)
10
0.3
8
0.2
6
4
0.1
2
81.8
77.0
72.2
67.4
62.6
57.8
0.0
53.0
50.6
55.4
h1
60.2
65.0
69.8
h2
$relative
[1] 0.1667 0.1667 0.1000 0.3333 0.2000 0.0333
$density
[1] 0.03472917 0.03472917 0.02083333 0.06943750 0.04166667
[6] 0.00693750
attr(,"class")
[1] "graph.freq"
> print(summary(h1))
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
3.
Manejando escalas
Median
67.18
Max.
82.32
74.6
79.4
84.2
Tutorial de agricolae(Versi
on 1.2-0)
par(mfrow=c(1,2),mar=c(4,3,1,1),cex=0.6)
h3<- graph.freq (peso, col="brown", frequency =3,las=2,xlab="h3")
h4<- graph.freq(peso, col="blue", frequency =3,xlab="h4")
normal.freq(h4, col="red", lty=4,lwd=2, frequency=3,las=2)
0.00
0.00
81.8
0.02
77.0
0.02
72.2
0.04
67.4
0.04
62.6
0.06
57.8
0.06
53.0
>
>
>
>
53.0
57.8
62.6
67.4
h3
72.2
77.0
81.8
h4
[1] -0.03895363
> kurtosis(PESO)
[1] -0.6351587
Comparacion graph.freq() e hist()
#
par(mfrow=c(1,2),mar=c(4,3,1,1),cex=0.6)
set.seed(seed=71)
wd<-density(PESO)
h5<-graph.freq(PESO,frequency=3,las=2,xlab="PESO (h5)",ylim=c(0,0.08))
lines(wd,col="blue")
h6<-hist(PESO,freq=FALSE,las=2,xlab="PESO (h6)",ylim=c(0,0.08))
lines(wd,col="brown")
0.08
0.08
0.06
0.06
PESO (h5)
PESO (h6)
> print(h5)
$breaks
[1] 50.0 55.5 61.0 66.5 72.0 77.5 83.0
85
80
75
70
65
83.0
77.5
72.0
66.5
0.00
61.0
0.00
55.5
0.02
50.0
0.02
60
0.04
55
0.04
Histogram of PESO
50
Density
>
>
>
>
>
>
>
>
Tutorial de agricolae(Versi
on 1.2-0)
$counts
[1] 3 4 8 6 5 4
$mids
[1] 52.75 58.25 63.75 69.25 74.75 80.25
$relative
[1] 0.1000 0.1333 0.2667 0.2000 0.1667 0.1333
$density
[1] 0.01818182 0.02423636 0.04849091 0.03636364 0.03030909
[6] 0.02423636
attr(,"class")
[1] "graph.freq"
> print(h6)
$breaks
[1] 50 55 60 65 70 75 80 85
$counts
[1] 2 5 5 6 5 5 2
$density
[1] 0.01333333 0.03333333 0.03333333 0.04000000 0.03333333
[6] 0.03333333 0.01333333
$mids
[1] 52.5 57.5 62.5 67.5 72.5 77.5 82.5
$xname
[1] "PESO"
$equidist
[1] TRUE
attr(,"class")
[1] "histogram"
4.
Tutorial de agricolae(Versi
on 1.2-0)
10
Lower Upper
Main freq relative CF RCF
-1.910 -1.334 -1.622
2
0.04 2 0.04
-1.334 -0.758 -1.046
7
0.14 9 0.18
-0.758 -0.182 -0.470
12
0.24 21 0.42
-0.182 0.394 0.106
10
0.20 31 0.62
0.394 0.970 0.682
10
0.20 41 0.82
0.970 1.546 1.258
5
0.10 46 0.92
1.546 2.122 1.834
4
0.08 50 1.00
$variance
0.8395964
$mean
0.106
$median
0.0484
$mode : mode and interval mode
[-]
mode
-0.758 -0.182 -0.3465714
>
>
>
>
>
>
par(mfrow=c(1,2),mar=c(4,4,1,1),cex=0.6)
h7<- graph.freq(PESO, nclass=5,frequency =1,xlab="h7")
h8<- graph.freq(PESO, nclass=5, frequency=2,axes=FALSE,xlab="h8")
title(ylab="%")
normal.freq(h8,col="red",frequency=2)
axis(1); axis(2,seq(0,1,0.1),100*seq(0,1,0.1),las=2)
10
30
8
20
%
6
4
10
2
0
0
50.0
56.6
63.2
69.8
76.4
83.0
h7
50
60
70
h8
> round(table.freq(h7), 2)
[1,]
[2,]
[3,]
[4,]
[5,]
Estadsticas
Redondeado a dos decimales:
> stat.freq(h7)
80
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
>
>
11
par(mfrow=c(1,2),mar=c(4,3,1,1),cex=0.7)
wd<-density(PESO)
h9<- graph.freq(PESO, density=6, col="blue", frequency =3,xlab="h9")
lines(wd,col="brown",lwd=2)
h10<- graph.freq(PESO, border=0, frequency =3,xlab="h10")
polygon.freq(h10,col="blue", frequency =3)
lines(wd,col="brown",lwd=2)
0.05
0.05
0.04
0.04
0.03
0.03
0.02
0.02
0.01
0.01
0.00
0.00
50.0 55.5 61.0 66.5 72.0 77.5 83.0
h9
h10
$variance
[1] 66.34138
$mean
[1] 67.6
$median
[1] 67.6
$mode
[-] mode
[1,] 63.2 69.8 67.16
4.1.
La reproducci
on de histogramas y el uso de hist()
[1,]
[2,]
[3,]
[4,]
[5,]
Las clases de las funciones hist() y graph.freq() son histogramy graph.freq, respectivamente. Sin embargo, es
posible establecer la compatibilidad entre ambas funciones.
Tutorial de agricolae(Versi
on 1.2-0)
12
Con el fin de mostrar las frecuencias relativas, puede utilizar graph.freq() con el objeto creado por hist() sin modificar
las clases.
Las funciones de agricolae para la gesti
on de histogramas funcionan correctamente en los objetos creados por la
funci
on hist()) de R.
then:
h8<-graph.freq(...)
h12<-plot(h8)
normal.freq(h12)
h8<-hist(...)
table.freq(h8)
h12<-graph.freq(h8)
summary(h12)
>
>
>
>
par(mfrow=c(1,2),mar=c(4,3,1,1),cex=0.7)
h11<-ogive.freq(h7, type="b", col="red ",xlab="h11")
h12<-plot(h8, xlab="PESO (h12)",ylim=c(0,15))
normal.freq(h12,col="red")
1.0
0.8
0.6
15
10
0.4
0.2
0.0
50.0
56.6
63.2
69.8
76.4
83.0
89.6
50.0
h11
56.6
63.2
69.8
76.4
83.0
PESO (h12)
4.2.
[1,]
[2,]
[3,]
[4,]
[5,]
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
13
par(mar=c(4,3,1,1),cex=0.7)
classes <- c(0, 10, 20, 30, 40, 50)
freq <- c(3, 8, 15, 18, 6)
h13 <- graph.freq(classes,counts=freq, xlab="Classes (h13)")
20
15
10
5
0
0
10
20
30
40
50
Classes (h13)
Figura 7: histograma con clases definida
4.3.
Juntando clases
Conociendo el intervalo original del objeto peso de estudiantes, estos pueden ser juntados, por ejemplo:
> intervals.freq(h13)
[1,]
[2,]
[3,]
[4,]
[5,]
lower upper
0
10
10
20
20
30
30
40
40
50
[1,]
[2,]
[3,]
[4,]
lower upper
0
20
20
30
30
40
40
50
Tutorial de agricolae(Versi
on 1.2-0)
14
> par(mfrow=c(1,2),mar=c(4,3,2,2),cex=0.7)
> plot(h13, xlab="Original Class (h13)", main="target")
> plot(h14, xlab="Changes in class (h14)", main="join.freq")
target
join.freq
20
20
15
15
10
10
0
0
10
20
30
40
50
20
30
40
50
5.
Dise
no de experimentos
El agricolae paquete presenta funciones especiales para la creacion del libro de campo para dise
nos experimentales.
Debido a la generaci
on aleatoria, este paquete se utiliza bastante en la investigacion agrcola.
Para esta generaci
on, se requieren ciertos par
ametros, como por ejemplo el nombre de cada tratamiento, el n
umero de
repeticiones, y otros, de acuerdo a la referencia de dise
no[1, 7, 8, 10]. Hay otros parametros de generacion aleatoria,
como la semilla para reproducir la misma generacion al azar o el metodo de generacion (Consulte el manual de
referencia de agricolae.
http://cran.at.r-project.org/web/packages/agricolae/agricolae.pdf
Los par
ametros importantes en la generaci
on de dise
no:
Series: Una constante que se utiliza para establecer los bloques de etiquetas numericos, por ejemplo, n
umero = 2, las
etiquetas ser
a: 101, 102, para la primera fila o bloque, 201, 202, para la siguiente, en el caso de dise
no completamente
al azar, la numeraci
on es secuencial.
design: Algunas de las caractersticas del dise
no solicitado agricolae aplicarse especficamente a design.ab (factorial)
o design.split (parcelas divididas) y sus valores posibles son: RCBD, crd y lsd.
seed: La semilla para la generaci
on aleatoria y su valor es cualquier valor real, si el valor es cero, no tiene generaci
on
reproducible, en este caso copia del valor de los parametros outdesign$parameters.
Kinds: el metodo de generaci
on aleatoria, de forma predeterminada Super Duper.
first: Para algunos dise
nos no se requiere al azar de la primera repeticion, especialmente en el dise
no de bloques, si
usted quiere cambiar al azar, cambiar a TRUE.
Output design:
parameters: la entrada a la generaci
on de dise
no, incluyen la semilla de generacion aleatoria, si la semilla, seed =
0, el programa genera un valor y es posible reproducir el dise
no.
book: Libro de campo
statistics: las estadsticas de informaci
on del dise
no para el ndice de eficiencia de ejemplo, el n
umero de tratamientos.
sketch: distribuci
on de los tratamientos en el campo.
Tutorial de agricolae(Versi
on 1.2-0)
15
La enumeraci
on de las parcelas
zigzag es una funci
on que le permite colocar la numeracion de las parcelas en la direccion de la serpentina: El zigzag
es la salida generada por un dise
no bloques, cuadrado latino, greco, parcelas divididas, tiras parcela, en bloques de
bloques incompletos factorial, equilibrado, celosa cclico, alfa y bloques aumentados.
fieldbook: La salida zigzag contiene el libro de campo.
5.1.
Dise
no completamente aleatorizado
S
olo requieren los nombres de los tratamientos y el n
umero de sus repeticiones y sus parametros son:
> str(design.crd)
function (trt, r, serie = 2, seed = 0, kinds = "Super-Duper")
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
plots
1
2
3
4
5
6
7
8
9
10
11
r trt
1
B
1
A
2
A
1
C
2
C
3
A
2
B
3
C
3
B
4
A
4
C
Excel:write.csv(plan1,plan1.csv,row.names=FALSE)
5.2.
Dise
no de bloques completos al azar
Tutorial de agricolae(Versi
on 1.2-0)
[1,]
[2,]
[3,]
[4,]
[,1]
"D"
"E"
"E"
"A"
[,2]
"B"
"A"
"D"
"E"
[,3]
"C"
"D"
"B"
"C"
[,4]
"E"
"B"
"A"
"B"
[,5]
"A"
"C"
"C"
"D"
> print(t(matrix(book2[,1],c(5,4))),digits=0)
[1,]
[2,]
[3,]
[4,]
5.3.
Dise
no cuadrado latino
[1,]
[2,]
[3,]
[4,]
[,1]
"C"
"D"
"B"
"A"
[,2]
"A"
"B"
"D"
"C"
[,3]
"B"
"C"
"A"
"D"
[,4]
"D"
"A"
"C"
"B"
Enumeraci
on en serpentina:
> book <- zigzag(outdesign)
> print(t(matrix(book[,1],c(4,4))),digit=0)
[1,]
[2,]
[3,]
[4,]
5.4.
Dise
no Greco-latino
Se requieren los nombres de los tratamientos de cada factor de estudio y sus parametros son:
> str(design.graeco)
function (trt1, trt2, serie = 2, seed = 0, kinds = "Super-Duper")
16
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
[1,]
[2,]
[3,]
[4,]
[,1]
"A 1"
"D 3"
"B 2"
"C 4"
[,2]
"D 4"
"A 2"
"C 3"
"B 1"
[,3]
"B 3"
"C 1"
"A 4"
"D 2"
[,4]
"C 2"
"B 4"
"D 1"
"A 3"
Enumeraci
on en serpentina:
> book <- zigzag(outdesign)
> print(t(matrix(book[,1],c(4,4))),digit=0)
[1,]
[2,]
[3,]
[4,]
5.5.
Dise
no de bloque incompleto balanceado
values
17
Tutorial de agricolae(Versi
on 1.2-0)
18
> outdesign$parameters
$design
[1] "bib"
$trt
[1] "A" "B" "C" "D" "E"
$k
[1] 4
$serie
[1] 2
$seed
[1] 543
$kinds
[1] "Super-Duper"
De acuerdo con la informaci
on que se produce, que son cinco bloques de tama
no 4, siendo la matriz:
> t(matrix(book5[,3],c(4,5)))
[1,]
[2,]
[3,]
[4,]
[5,]
[,1]
"C"
"C"
"B"
"D"
"A"
[,2]
"B"
"D"
"A"
"C"
"D"
[,3]
"E"
"A"
"E"
"E"
"E"
[,4]
"A"
"B"
"D"
"B"
"C"
Ser observa que los tratamientos tienen cuatro repeticiones. el parametro lambda tiene tres repeticiones, lo que
significa que un par de tratamientos est
an juntos en tres ocasiones. Por ejemplo, B y E se encuentran en los bloques
I, III y V.
Enumeraci
on en serpentina:
> book <- zigzag(outdesign)
> t(matrix(book[,1],c(4,5)))
[1,]
[2,]
[3,]
[4,]
[5,]
5.6.
Dise
no Ciclico
Tutorial de agricolae(Versi
on 1.2-0)
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
[,1]
"A"
"D"
"A"
"A"
"C"
"B"
[,2]
"E"
"F"
"D"
"C"
"B"
"E"
[,3]
"D"
"C"
"B"
"F"
"E"
"F"
> outdesign$sketch[[2]]
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
[,1]
"B"
"C"
"F"
"C"
"E"
"F"
[,2]
"D"
"A"
"A"
"D"
"A"
"E"
[,3]
"C"
"B"
"B"
"E"
"F"
"D"
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
> t(X[,,2])
19
Tutorial de agricolae(Versi
on 1.2-0)
[1,]
[2,]
[3,]
[4,]
[5,]
[6,]
20
5.7.
Dise
no Latice
Ellos requieren una serie de tratamientos de un cuadrado perfecto; por ejemplo 9, 16, 25, 36, 49, etc y sus par
ametros
son:
> str(design.lattice)
function (trt, r = 3, serie = 2, seed = 0, kinds = "Super-Duper")
Pueden generar un latice simple (2 rep.) O un latice triple (3 rep.) la generacion de un dise
no latice triple para 9
tratamientos 3*3 se obtiene con el siguiente procedimiento
> trt<-letters[1:9]
> outdesign <-design.lattice(trt, r = 3, serie = 2, seed = 33,
+
kinds = "Super-Duper")
Lattice design,
triple
3 x 3
Efficiency factor
(E ) 0.7272727
<<< Book >>>
> book7 <- outdesign$book
> outdesign$parameters
$design
[1] "lattice"
$type
[1] "triple"
$trt
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i"
$r
[1] 3
$serie
[1] 2
$seed
[1] 33
$kinds
[1] "Super-Duper"
Tutorial de agricolae(Versi
on 1.2-0)
> outdesign$sketch
$rep1
[,1]
[1,] "i"
[2,] "b"
[3,] "h"
[,2]
"d"
"c"
"f"
[,3]
"a"
"e"
"g"
$rep2
[,1]
[1,] "c"
[2,] "b"
[3,] "e"
[,2]
"f"
"h"
"g"
[,3]
"d"
"i"
"a"
$rep3
[,1]
[1,] "e"
[2,] "b"
[3,] "c"
[,2]
"h"
"f"
"g"
[,3]
"d"
"a"
"i"
> head(book7)
1
2
3
4
5
6
plots
101
102
103
104
105
106
r block trt
1
1
i
1
1
d
1
1
a
1
2
b
1
2
c
1
2
e
Enumeraci
on en serpentina:
> book <- zigzag(outdesign)
> array(book$plots,c(3,3,3)) -> X
> t(X[,,1])
[1,]
[2,]
[3,]
> t(X[,,2])
[1,]
[2,]
[3,]
> t(X[,,3])
[1,]
[2,]
[3,]
21
Tutorial de agricolae(Versi
on 1.2-0)
5.8.
22
Dise
no Alfa
Estos dise
nos son generados por los criterios alfa referencia [11]. Son similares a los dise
nos de latice, pero los grupos
son rectangulares, con s bloques por k tratamientos por bloque. El n
umero de tratamientos debe ser igual a s*k y
el total de unidades experimentales es R*s*K y sus parametros son:
> str(design.alpha)
function (trt, k, r, serie = 2, seed = 0, kinds = "Super-Duper")
> trt <- letters[1:15]
> outdesign <- design.alpha(trt,k=3,r=2,seed=543)
alpha design (0,1) - Serie
values
> outdesign$sketch
$rep1
[,1]
[1,] "l"
[2,] "g"
[3,] "o"
[4,] "h"
[5,] "a"
[,2]
"m"
"c"
"k"
"f"
"n"
[,3]
"e"
"i"
"d"
"j"
"b"
$rep2
[,1]
[1,] "o"
[2,] "l"
[3,] "d"
[4,] "j"
[5,] "f"
[,2]
"a"
"k"
"n"
"b"
"i"
[,3]
"m"
"g"
"h"
"c"
"e"
Tutorial de agricolae(Versi
on 1.2-0)
[1,]
[2,]
[3,]
[4,]
[5,]
23
> t(A[,,2])
[1,]
[2,]
[3,]
[4,]
[5,]
Enumeraci
on en serpentina:
> book <- zigzag(outdesign)
> A<-array(book[,1], c(3,5,2))
> t(A[,,1])
[1,]
[2,]
[3,]
[4,]
[5,]
> t(A[,,2])
[1,]
[2,]
[3,]
[4,]
[5,]
5.9.
Dise
no de bloques Aumentados
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
block: 1
[1] "D" "C" "A" "u" "B" "t"
--------------------------------------------block: 2
[1] "D" "z" "C" "A" "v" "B"
--------------------------------------------block: 3
[1] "C" "w" "B" "A" "D"
--------------------------------------------block: 4
[1] "A" "C" "D" "B" "y"
--------------------------------------------block: 5
[1] "C" "B" "A" "D" "x"
> detach(book9)
Enumeraci
on en serpentina:
> book <- zigzag(outdesign)
> attach(book)
> by(plots, block, as.character)
block: 1
[1] "101" "102" "103" "104" "105" "106"
--------------------------------------------block: 2
[1] "206" "205" "204" "203" "202" "201"
--------------------------------------------block: 3
[1] "301" "302" "303" "304" "305"
--------------------------------------------block: 4
[1] "405" "404" "403" "402" "401"
--------------------------------------------block: 5
[1] "501" "502" "503" "504" "505"
> detach(book)
> print(book)
1
2
3
4
5
6
24
Tutorial de agricolae(Versi
on 1.2-0)
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
206
205
204
203
202
201
301
302
303
304
305
405
404
403
402
401
501
502
503
504
505
2
2
2
2
2
2
3
3
3
3
3
4
4
4
4
4
5
5
5
5
5
25
D
z
C
A
v
B
C
w
B
A
D
A
C
D
B
y
C
B
A
D
x
5.10.
Dise
no de parcelas divididas
Estos dise
nos tienen dos factores, uno es aplicado en las parcelas y se define como una en un dise
no de bloques
completos al azar; y un segundo factor, que se aplica en las subparcelas de cada parcela aplica al azar. la funci
on
design.split() permite encontrar el plan experimental para este dise
no y sus parametros son:
> str(design.split)
function (trt1, trt2, r = NULL, design = c("rcbd",
"crd", "lsd"), serie = 2, seed = 0, kinds = "Super-Duper",
first = TRUE)
Aplicaci
on
>
>
>
>
>
1
2
3
4
5
6
7
8
trt1<-c("A","B","C","D")
trt2<-c("a","b","c")
outdesign <-design.split(trt1,trt2,r=3,serie=2,seed=543)
book10 <- outdesign$book
print(book10)
plots splots block trt1 trt2
101
1
1
A
c
101
2
1
A
a
101
3
1
A
b
102
1
1
D
b
102
2
1
D
c
102
3
1
D
a
103
1
1
B
b
103
2
1
B
c
Tutorial de agricolae(Versi
on 1.2-0)
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
>
>
>
+
103
104
104
104
201
201
201
202
202
202
203
203
203
204
204
204
301
301
301
302
302
302
303
303
303
304
304
304
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
B
C
C
C
A
A
A
C
C
C
B
B
B
D
D
D
A
A
A
C
C
C
B
B
B
D
D
D
26
a
a
b
c
b
a
c
a
b
c
a
c
b
b
c
a
a
b
c
a
c
b
a
c
b
c
a
b
p<-book10$trt1[seq(1,36,3)]
q<-NULL
for(i in 1:12)
q <- c(q,paste(book10$trt2[3*(i-1)+1],book10$trt2[3*(i-1)+2], book10$trt2[3*(i-1)+3]))
In plots:
> print(t(matrix(p,c(4,3))))
[,1]
[1,] "A"
[2,] "A"
[3,] "A"
[,2]
"D"
"C"
"C"
[,3]
"B"
"B"
"B"
[,4]
"C"
"D"
"D"
[,2]
[,3]
[,4]
"b c a" "b c a" "a b c"
"a b c" "a c b" "b c a"
"a c b" "a c b" "c a b"
Enumeraci
on en serpentina:
Tutorial de agricolae(Versi
on 1.2-0)
27
1
2
3
4
5
5.11.
Dise
no bloques divididos o franjas
Estos dise
nos se utilizan cuando hay dos tipos de tratamientos (factores) y se aplican por separado en parcelas
grandes, llamado bandas, en una direcci
on vertical y horizontal del bloque, la obtencion de los bloques divididos.
Cada bloque constituye una repetici
on y sus parametros son:
> str(design.strip)
function (trt1, trt2, r, serie = 2, seed = 0, kinds = "Super-Duper")
Aplication
>
>
>
>
>
trt1<-c("A","B","C","D")
trt2<-c("a","b","c")
outdesign <-design.strip(trt1,trt2,r=3,serie=2,seed=543)
book11 <- outdesign$book
head(book11)
1
2
3
4
5
6
>
>
>
>
>
t3<-paste(book11$trt1, book11$trt2)
B1<-t(matrix(t3[1:12],c(4,3)))
B2<-t(matrix(t3[13:24],c(3,4)))
B3<-t(matrix(t3[25:36],c(3,4)))
print(B1)
[,1] [,2]
[1,] "A a" "A b"
[2,] "D b" "D c"
[3,] "B c" "C a"
[,3]
"A c"
"B a"
"C b"
> print(B2)
[1,]
[2,]
[3,]
[4,]
[,1]
"D a"
"A a"
"B a"
"C a"
[,2]
"D b"
"A b"
"B b"
"C b"
[,3]
"D c"
"A c"
"B c"
"C c"
[,4]
"D a"
"B b"
"C c"
Tutorial de agricolae(Versi
on 1.2-0)
28
> print(B3)
[1,]
[2,]
[3,]
[4,]
[,1]
"B b"
"D b"
"C b"
"A b"
[,2]
"B c"
"D c"
"C c"
"A c"
[,3]
"B a"
"D a"
"C a"
"A a"
Enumeraci
on en serpentina:
> book <- zigzag(outdesign)
> head(book)
1
2
3
4
5
6
> array(book$plots,c(3,4,3))->X
> t(X[,,1])
[1,]
[2,]
[3,]
[4,]
> t(X[,,2])
[1,]
[2,]
[3,]
[4,]
> t(X[,,3])
[1,]
[2,]
[3,]
[4,]
5.12.
Factorial
Tutorial de agricolae(Versi
on 1.2-0)
29
En los dise
nos crd y DBCA, es necesario el valor r como el n
umero de repeticiones, esto puede ser un vector si es
desigual el n
umero de repeticiones, igual o constante es recomendado.
>
>
>
>
1
2
3
4
5
6
plots block A B
101
1 3 1
102
1 2 2
103
1 1 1
104
1 1 2
105
1 3 2
106
1 2 1
Enumeraci
on en serpentina:
> book <- zigzag(outdesign)
> head(book)
1
2
3
4
5
6
plots block A B
101
1 3 1
102
1 2 2
103
1 1 1
104
1 1 2
105
1 3 2
106
1 2 1
Tutorial de agricolae(Versi
on 1.2-0)
30
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
6.
plots
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
r
1
1
1
1
1
2
3
1
1
1
2
2
2
2
3
2
3
2
4
5
2
3
3
3
4
A
2
1
2
2
2
2
2
1
1
1
1
1
1
2
1
2
1
1
1
1
2
2
1
1
2
B
2
1
1
1
2
1
1
2
2
1
1
2
2
2
1
1
2
1
1
1
2
2
1
2
2
C
1
2
2
1
2
2
2
1
2
1
2
2
1
2
2
1
2
1
2
2
1
1
1
1
1
comparaciones m
ultiples
Para el an
alisis, las siguientes funciones de agricolae se utilizan: LSD.test (), HSD.test(), duncan.test(), scheffe.test,
waller.test, SNK.test() referencia [?] y durbin.test(), kruskal(), Friedman() y waerden.test() referencia [?].
Para cada an
alisis estadstico, los datos se deben organizar en columnas. Para la demostracion, se utilizar
a la base
de datos agricolae.
Tutorial de agricolae(Versi
on 1.2-0)
31
Los datos de camote corresponden a un experimento completamente al azar en el campo con parcelas de 50 plantas
de camote, sometidos al efecto del virus y con un control sin virus (Consulte el manual de referencia del paquete).
> data(sweetpotato)
> model<-aov(yield~virus, data=sweetpotato)
> cv.model(model)
[1] 17.1666
> attach(sweetpotato)
> mean(yield)
[1] 27.625
> detach(sweetpotato)
Par
ametros del modelo: Grados de libertad y la varianza del error:
> df<-df.residual(model)
> MSerror<-deviance(model)/df
6.1.
Se incluye la comparaci
on m
ultiple a traves del metodo de la diferencia mnima significativa (mnima diferencia
significativa), referencia [14].
> # comparison <- LSD.test(yield,virus,df,MSerror)
> LSD.test(model, "virus",console=TRUE)
Study: model ~ "virus"
LSD t Test for yield
Mean Square Error:
virus,
cc
fc
ff
oo
22.48917
yield
24.40000
12.86667
36.33333
36.90000
std
3.609709
2.159475
7.333030
4.300000
r
LCL
UCL Min Max
3 18.086268 30.71373 21.7 28.5
3 6.552935 19.18040 10.6 14.9
3 30.019601 42.64707 28.0 41.8
3 30.586268 43.21373 32.1 40.4
Tutorial de agricolae(Versi
on 1.2-0)
32
En la funci
on LSD.test (), la comparaci
on m
ultiple se llevo a cabo. Con el fin de obtener las probabilidades de las
comparaciones, se debe indicar que no se requieren grupos; por lo tanto:
> # comparison <- LSD.test(yield, virus,df, MSerror, group=F)
> comparison <-LSD.test(model, "virus", group=F,console=TRUE)
Study: model ~ "virus"
LSD t Test for yield
Mean Square Error:
virus,
cc
fc
ff
oo
22.48917
yield
24.40000
12.86667
36.33333
36.90000
std
3.609709
2.159475
7.333030
4.300000
r
LCL
UCL Min Max
3 18.086268 30.71373 21.7 28.5
3 6.552935 19.18040 10.6 14.9
3 30.019601 42.64707 28.0 41.8
3 30.586268 43.21373 32.1 40.4
cc
cc
cc
fc
fc
ff
fc
ff
oo
ff
oo
oo
Difference
11.5333333
-11.9333333
-12.5000000
-23.4666667
-24.0333333
-0.5666667
pvalue sig.
LCL
UCL
0.0176377595
*
2.604368 20.462299
0.0150730851
* -20.862299 -3.004368
0.0120884239
* -21.428965 -3.571035
0.0003023690 *** -32.395632 -14.537701
0.0002574929 *** -32.962299 -15.104368
0.8872673216
-9.495632
8.362299
Signif. codes:
0 ***0.001 **0.01 *0.05 .0.1 1
> comparison
$statistics
Mean
CV MSerror
27.625 17.1666 22.48917
$parameters
Df ntr t.value
8
4 2.306004
$means
yield
cc 24.40000
fc 12.86667
ff 36.33333
oo 36.90000
$comparison
std
3.609709
2.159475
7.333030
4.300000
r
LCL
UCL Min Max
3 18.086268 30.71373 21.7 28.5
3 6.552935 19.18040 10.6 14.9
3 30.019601 42.64707 28.0 41.8
3 30.586268 43.21373 32.1 40.4
Tutorial de agricolae(Versi
on 1.2-0)
cc
cc
cc
fc
fc
ff
fc
ff
oo
ff
oo
oo
Difference
11.5333333
-11.9333333
-12.5000000
-23.4666667
-24.0333333
-0.5666667
33
pvalue sig.
LCL
UCL
0.0176377595
*
2.604368 20.462299
0.0150730851
* -20.862299 -3.004368
0.0120884239
* -21.428965 -3.571035
0.0003023690 *** -32.395632 -14.537701
0.0002574929 *** -32.962299 -15.104368
0.8872673216
-9.495632
8.362299
$groups
NULL
6.2.
Bonferroni
Con la funci
on LSD.test() se puede realizar ajustes en las probabilidades encontradas, como por ejemplo el ajuste
de Bonferroni.
> LSD.test(model, "virus", group=F, p.adj= "bon",console=TRUE)
Study: model ~ "virus"
LSD t Test for yield
P value adjustment method: bonferroni
Mean Square Error:
virus,
cc
fc
ff
oo
22.48917
yield
24.40000
12.86667
36.33333
36.90000
std
3.609709
2.159475
7.333030
4.300000
r
LCL
UCL Min Max
3 18.086268 30.71373 21.7 28.5
3 6.552935 19.18040 10.6 14.9
3 30.019601 42.64707 28.0 41.8
3 30.586268 43.21373 32.1 40.4
cc
cc
cc
fc
fc
ff
fc
ff
oo
ff
oo
oo
Difference
11.5333333
-11.9333333
-12.5000000
-23.4666667
-24.0333333
-0.5666667
pvalue sig.
LCL
UCL
0.105827
-1.937064 25.0037305
0.090439
. -25.403730
1.5370638
0.072531
. -25.970397
0.9703971
0.001814
** -36.937064 -9.9962695
0.001545
** -37.503730 -10.5629362
1.000000
-14.037064 12.9037305
Other comparison tests can be applied, such as duncan, Student-Newman-Keuls, tukey, and waller-duncan.
Para Duncan, utilice la funci
on duncan.test(); para Student-Newman-Keuls, SNK.test(); para Tukey, HSD.test();
para Scheffe, scheffe.test(); y para Waller-Duncanla funcion waller.test(). Los parametros son los mismos. Waller
requiere ademas el valor de F calculado de los tratamientos del ANOVA. Si se utiliza la salida del modelo aov o lm
como un par
ametro, ya no es necesario los parametros F, grados de libertad y la variancia del error.
Tutorial de agricolae(Versi
on 1.2-0)
6.3.
34
La Nueva prueba m
ultiple de Duncan
cc
fc
ff
oo
22.48917
means
yield
24.40000
12.86667
36.33333
36.90000
std
3.609709
2.159475
7.333030
4.300000
r
3
3
3
3
Min
21.7
10.6
28.0
32.1
Max
28.5
14.9
41.8
40.4
6.4.
Student-Newman-Keuls
Student, Newman y Keuls ayudado a mejorar la prueba de Newman-Keuls de 1939, que fue conocido como el metodo
de Keuls, vease la referencia [14]
> SNK.test(model, "virus", alpha=0.05,console=TRUE)
Study: model ~ "virus"
Student Newman Keuls Test
for yield
Mean Square Error:
virus,
22.48917
means
yield
std r Min Max
cc 24.40000 3.609709 3 21.7 28.5
fc 12.86667 2.159475 3 10.6 14.9
Tutorial de agricolae(Versi
on 1.2-0)
cc
fc
ff
oo
22.48917
means
yield
24.40000
12.86667
36.33333
36.90000
std
3.609709
2.159475
7.333030
4.300000
r
3
3
3
3
Min
21.7
10.6
28.0
32.1
Max
28.5
14.9
41.8
40.4
cc-fc
cc-ff
cc-oo
fc-ff
fc-oo
ff-oo
Difference
11.5333333
-11.9333333
-12.5000000
-23.4666667
-24.0333333
-0.5666667
pvalue sig.
LCL
UCL
0.017638
*
2.604368 20.462299
0.015073
* -20.862299 -3.004368
0.029089
* -23.564170 -1.435830
0.000777 *** -34.530836 -12.402497
0.001162
** -36.433003 -11.633664
0.887267
-9.495632
8.362299
35
Tutorial de agricolae(Versi
on 1.2-0)
6.5.
36
Esta prueba de rango studentized, creado por Tukey en 1953, es conocido como HSD de Tukey (Diferencias honestamente significativa) se referencia en [14]
> comparison1 <- HSD.test(model, "virus",console=TRUE)
Study: model ~ "virus"
HSD Test for yield
Mean Square Error:
virus,
cc
fc
ff
oo
22.48917
means
yield
24.40000
12.86667
36.33333
36.90000
std
3.609709
2.159475
7.333030
4.300000
r
3
3
3
3
Min
21.7
10.6
28.0
32.1
Max
28.5
14.9
41.8
40.4
std
3.609709
2.159475
7.333030
4.300000
r
3
3
3
3
Min
21.7
10.6
28.0
32.1
Max
28.5
14.9
41.8
40.4
Tutorial de agricolae(Versi
on 1.2-0)
37
$groups
trt
means M
1 oo 36.90000 a
2 ff 36.33333 ab
3 cc 24.40000 bc
4 fc 12.86667 c
6.6.
cc
fc
ff
oo
means
yield
24.40000
12.86667
36.33333
36.90000
std
3.609709
2.159475
7.333030
4.300000
r
3
3
3
3
Min
21.7
10.6
28.0
32.1
Max
28.5
14.9
41.8
40.4
cc
cc
cc
fc
fc
ff
fc
ff
oo
ff
oo
oo
Difference significant
11.5333333
TRUE
-11.9333333
TRUE
-12.5000000
TRUE
-23.4666667
TRUE
-24.0333333
TRUE
-0.5666667
FALSE
> detach(sweetpotato)
En otro caso, con s
olo invocar el objeto de modelo:
> comparison2 <- waller.test(model, "virus", group=FALSE,console=FALSE)
El comparison2 objeto encontrado tiene informacion para hacer otros procedimientos.
Tutorial de agricolae(Versi
on 1.2-0)
38
> names(comparison2)
[1] "statistics" "parameters" "means"
[5] "groups"
"comparison"
> comparison2$comparison
cc
cc
cc
fc
fc
ff
fc
ff
oo
ff
oo
oo
Difference significant
11.5333333
TRUE
-11.9333333
TRUE
-12.5000000
TRUE
-23.4666667
TRUE
-24.0333333
TRUE
-0.5666667
FALSE
6.7.
La prueba de Scheffe
Este metodo, creado por Scheffe en 1959, es muy general para todos los posibles contrastes y sus intervalos de
confianza. Los intervalos de confianza para los promedios son muy amplias, lo que resulta en una prueba muy
conservador para la comparaci
on entre las medias de tratamiento vease la referencia [14]
>
>
>
+
# analysis of variance:
model<-aov(yield~virus, data=sweetpotato)
scheffe.test(model,"virus", group=TRUE,console=TRUE,
main="Yield of sweetpotato\nDealt with different virus")
cc
fc
ff
oo
: 22.48917
means
yield
24.40000
12.86667
36.33333
36.90000
std
3.609709
2.159475
7.333030
4.300000
r
3
3
3
3
Min
21.7
10.6
28.0
32.1
Max
28.5
14.9
41.8
40.4
Tutorial de agricolae(Versi
on 1.2-0)
39
cc
fc
ff
oo
: 22.48917
means
yield
24.40000
12.86667
36.33333
36.90000
std
3.609709
2.159475
7.333030
4.300000
r
3
3
3
3
Min
21.7
10.6
28.0
32.1
Max
28.5
14.9
41.8
40.4
cc
cc
cc
fc
fc
ff
6.8.
fc
ff
oo
ff
oo
oo
Difference
11.5333333
-11.9333333
-12.5000000
-23.4666667
-24.0333333
-0.5666667
pvalue sig
LCL
UCL
0.097816
. -1.000348 24.0670149
0.085487
. -24.467015
0.6003483
0.070607
. -25.033682
0.0336816
0.002331 ** -36.000348 -10.9329851
0.001998 ** -36.567015 -11.4996517
0.999099
-13.100348 11.9670149
Comparaci
on m
ultiple de tratamientos en factorial
En factoriales se puede aplicar las pruebas comparativas de: LSD, HSD, Waller-Duncan, Duncan, Scheffe, SNK .
> # model <-aov (y ~ A * B * C, data)
> # compare <-LSD.test (model, c ("A", "B", "C"),console=TRUE)
La comparaci
on es la combinaci
on de A:B:C.
Dise
no de datos DBCA con un factorial clon*nitrogeno. La variable de respuesta el rendimiento (yield).
> yield <-scan (text =
+ "6 7 9 13 16 20 8 8 9
+
7 8 8 12 17 18 10 9 12
+
9 9 9 14 18 21 11 12 11
Tutorial de agricolae(Versi
on 1.2-0)
+
+
>
>
>
>
>
8 10 10 15 16 22 9 9
)
block <-gl (4, 9)
clone <-rep (gl (3, 3,
nitrogen <-rep (gl (3,
A <-data.frame (block,
head(A)
1
2
3
4
5
6
40
9 "
c1:n1
c1:n2
c1:n3
c2:n1
c2:n2
c2:n3
c3:n1
c3:n2
c3:n3
yield
7.50
8.50
9.00
13.50
16.75
20.25
9.50
9.50
10.25
1.1875
std
1.2909944
1.2909944
0.8164966
1.2909944
0.9574271
1.7078251
1.2909944
1.7320508
1.5000000
r
LCL
UCL Min Max
4 6.375459 8.624541
6
9
4 7.375459 9.624541
7 10
4 7.875459 10.124541
8 10
4 12.375459 14.624541 12 15
4 15.625459 17.874541 16 18
4 19.125459 21.374541 18 22
4 8.375459 10.624541
8 11
4 8.375459 10.624541
8 12
4 9.125459 11.374541
9 12
Tutorial de agricolae(Versi
on 1.2-0)
41
par(mar=c(3,3,2,0))
pic1<-bar.err(out$means,variation="range",ylim=c(5,25), bar=FALSE,col=0,las=1)
points(pic1$index,pic1$means,pch=18,cex=1.5,col="blue")
axis(1,pic1$index,labels=FALSE)
title(main="promedio y rango\nclon:nitrogen")
promedio y rango
clon:nitrogen
25
20
15
10
6.9.
Gr
aficos de la comparaci
on m
ultiple
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
>
42
par(mfrow=c(2,2),mar=c(3,3,2,0))
c1<-colors()[480]; c2=colors()[65]; c3=colors()[15]; c4=colors()[140]
G1<-bar.group(comparison1$groups, ylim=c(0,45), main="Tukey\nG1",col=c1)
G2<-bar.group(comparison1$groups, horiz=T, xlim=c(0,45), main="Tukey\nG2",col=c2)
G3<-bar.err(comparison2$means, variation="range",ylim=c(0,45), col=c3, main="Range\nG3")
G4<-bar.err(comparison2$means, horiz=T, xlim=c(0,45), col=c4, variation="SE",,main="Standard error \nG4")
Tukey
G2
c
cc
fc
ab
ab
a
10
bc
ff
20
bc
oo
30
40
Tukey
G1
oo
ff
cc
fc
10
40
Standard error
G4
40
30
oo
Range
G3
20
[ ]
cc
10
ff
fc
30
20
cc
fc
ff
oo
10
20
30
40
6.10.
An
alisis de los bloques incompletos balanceados
Este an
alisis puede provenir de dise
nos equilibrados o parcialmente equilibradas. La funcion BIB.test() est
a en
dise
nos balanceados y PBIB.test(), por dise
nos parcialmente balanceadas. En el siguiente ejemplo, los datos de los
agricolae ser
an utilizados, la referencia [5].
>
>
>
>
>
>
>
ANALYSIS BIB: y
Class level information
Tutorial de agricolae(Versi
on 1.2-0)
Block:
Trt :
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6
Number of observations:
30
1
2
3
4
5
6
y
70.2
60.0
59.4
55.0
61.4
55.8
statistics
mean.adj
75.13333
58.71667
58.55000
54.96667
60.05000
54.38333
SE
3.728552
3.728552
3.728552
3.728552
3.728552
3.728552
r
std Min Max
5 5.069517 63 77
5 4.898979 54 65
5 12.381438 45 75
5 9.848858 38 62
5 4.505552 54 65
5 10.756393 39 67
LSD test
Std.diff
: 5.363111
Alpha
: 0.05
LSD
: 11.4312
Parameters BIB
Lambda
: 2
treatmeans : 6
Block size : 3
Blocks
: 10
Replication: 5
Efficiency factor 0.8
<<< Book >>>
Means with the same letter are not significantly different.
Comparison of treatments
Groups, Treatments and means
a
1
75.13
b
5
60.05
b
2
58.72
b
3
58.55
43
Tutorial de agricolae(Versi
on 1.2-0)
b
b
4
6
44
54.97
54.38
function (block, trt, y, test = c(lsd, tukey, duncan, waller, snk), alpha = 0.05, group = TRUE) LSD,
Duncan de Tukey, Waller-Duncan y SNK, se pueden utilizar. Las probabilidades de la comparacion tambien se
pueden obtener. S
olo se debe indicar: group=FALSE, as:
> out <-BIB.test(block, trt=variety, y, test="tukey", group=FALSE, console=TRUE)
ANALYSIS BIB: y
Class level information
Block:
Trt :
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6
Number of observations:
30
1
2
3
4
5
6
y
70.2
60.0
59.4
55.0
61.4
55.8
statistics
mean.adj
75.13333
58.71667
58.55000
54.96667
60.05000
54.38333
SE
3.728552
3.728552
3.728552
3.728552
3.728552
3.728552
Tukey
Alpha
: 0.05
Std.err
: 3.792292
HSD
: 17.42458
Parameters BIB
Lambda
: 2
treatmeans : 6
Block size : 3
Blocks
: 10
Replication: 5
Efficiency factor 0.8
r
std Min Max
5 5.069517 63 77
5 4.898979 54 65
5 12.381438 45 75
5 9.848858 38 62
5 4.505552 54 65
5 10.756393 39 67
Tutorial de agricolae(Versi
on 1.2-0)
45
6.11.
La func
on PBIB.test(), vease reference [5], puede ser aplicado para un latice o dise
no alfa.
Considere el siguiente caso: Construir el dise
no alfa con 30 tratamientos, 2 repeticiones y un tama
no de bloque igual
a 3.
>
>
>
>
>
>
>
library(MASS)
library(nlme)
# alpha design
Genotype<-paste("geno",1:30,sep="")
r<-2
k<-3
plan<-design.alpha(Genotype,k,r,seed=5)
Tutorial de agricolae(Versi
on 1.2-0)
46
Efficiency factor
(E ) 0.6170213
<<< Book >>>
El plan generado es plan$book.
Supongamos que la observaci
on correspondiente a cada unidad experimental es:
> yield <-c(5,2,7,6,4,9,7,6,7,9,6,2,1,1,3,2,4,6,7,9,8,7,6,4,3,2,2,1,1,
+
2,1,1,2,4,5,6,7,8,6,5,4,3,1,1,2,5,4,2,7,6,6,5,6,4,5,7,6,5,5,4)
La tabla de datos se construye para el an
alisis. En teora, se supone que se aplica un dise
no y el experimento se
lleva a cabo; posteriormente, se observan las variables de estudio de cada unidad experimental.
>
>
>
>
>
data<-data.frame(plan$book,yield)
rm(yield,Genotype)
# The analysis:
attach(data)
model <- PBIB.test(block, Genotype, replication, yield, k=3, group=TRUE,console=TRUE)
ANALYSIS PBIB:
yield
60
Parameter Estimates
Variance
block:replication 2.834033e+00
replication
8.045359e-09
Residual
2.003098e+00
AIC
BIC
-2 Res Log Likelihood
Fit Statistics
213.65937
259.89888
-73.82968
.
30
Tutorial de agricolae(Versi
on 1.2-0)
47
block size
3
block/replication 10
replication
2
Efficiency factor 0.6170213
Comparison test lsd
<<< to see the objects: means, comparison and groups. >>>
> detach(data)
Los promedios ajustados se pueden extraer a partir del modelo.
> head(model$means)
geno1
geno10
geno11
geno12
geno13
geno14
> par(cex=0.8,mar=c(4,3,1,0))
> G5<-bar.group(model$groups,border="brown",col="white",ylim=c(0,9),las=2)
a
8
ab
ab
abc
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
bcdbcd
bcdbcd
bcdbcdbcd
cd
geno27
geno20
geno1
geno16
geno30
geno3
geno18
geno23
geno28
geno29
geno12
geno11
geno21
geno22
geno6
geno15
geno13
geno26
geno14
geno4
geno24
geno10
geno7
geno19
geno5
geno17
geno9
geno2
geno8
geno25
Tutorial de agricolae(Versi
on 1.2-0)
48
> head(model$comparison,60)
geno1 - geno10
geno1 - geno11
geno1 - geno12
geno1 - geno13
geno1 - geno14
geno1 - geno15
geno1 - geno16
geno1 - geno17
geno1 - geno18
geno1 - geno19
geno1 - geno2
geno1 - geno20
geno1 - geno21
geno1 - geno22
geno1 - geno23
geno1 - geno24
geno1 - geno25
geno1 - geno26
geno1 - geno27
geno1 - geno28
geno1 - geno29
geno1 - geno3
geno1 - geno30
geno1 - geno4
geno1 - geno5
geno1 - geno6
geno1 - geno7
geno1 - geno8
geno1 - geno9
geno10 - geno11
geno10 - geno12
geno10 - geno13
geno10 - geno14
geno10 - geno15
geno10 - geno16
geno10 - geno17
geno10 - geno18
geno10 - geno19
geno10 - geno2
geno10 - geno20
geno10 - geno21
geno10 - geno22
geno10 - geno23
geno10 - geno24
geno10 - geno25
geno10 - geno26
geno10 - geno27
geno10 - geno28
geno10 - geno29
geno10 - geno3
geno10 - geno30
Difference
2.87655609
1.71113347
1.63087546
2.21879737
2.33932902
2.08072152
0.31228447
3.45264534
1.03201691
3.12576159
3.62529399
-0.21013248
1.76324106
1.91778481
1.05003451
2.56129596
4.31847155
2.30713586
-1.22399268
1.36430684
1.43545989
0.77016177
0.47268696
2.52643544
3.16334954
1.94130544
3.00965136
4.06487385
3.50511387
-1.16542262
-1.24568063
-0.65775872
-0.53722707
-0.79583457
-2.56427162
0.57608925
-1.84453918
0.24920550
0.74873790
-3.08668857
-1.11331503
-0.95877128
-1.82652158
-0.31526013
1.44191546
-0.56942023
-4.10054877
-1.51224925
-1.44109620
-2.10639432
-2.40386913
stderr
1.844369
1.576447
1.727017
1.853044
1.828368
1.855004
1.851959
1.844369
1.770133
1.576447
1.770133
1.851959
1.846640
1.828368
1.853044
1.828368
1.851959
1.846640
1.727017
1.846640
1.816445
1.770133
1.828368
1.816445
1.846640
1.770133
1.851959
1.576447
1.576447
1.828368
1.853044
1.844369
1.576447
1.816445
1.770133
1.853044
1.851959
1.846640
1.851959
1.828368
1.576447
1.851959
1.727017
1.851959
1.770133
1.846640
1.816445
1.846640
1.727017
1.770133
1.576447
pvalue
0.147134
0.300944
0.365280
0.256324
0.227062
0.285888
0.869154
0.088018
0.571640
0.072920
0.065196
0.911706
0.360172
0.316722
0.582326
0.188828
0.039740
0.237460
0.493238
0.475494
0.446080
0.671912
0.800772
0.191760
0.114714
0.296202
0.132420
0.025658
0.048076
0.536898
0.515306
0.728114
0.739686
0.669774
0.175340
0.761698
0.340658
0.895088
0.693746
0.119482
0.494740
0.614914
0.312904
0.867920
0.432594
0.763574
0.045294
0.430218
0.421784
0.259110
0.155516
Tutorial de agricolae(Versi
on 1.2-0)
geno10
geno10
geno10
geno10
geno10
geno10
geno11
geno11
geno11
49
Los datos sobre los promedios ajustados y su variacion se pueden ilustrar vease Figura 12. puesto que el objeto
creado es muy similar a los objetos generados por las m
ultiples comparaciones. Analisis de 3x3 celosa equilibrada,
>
>
>
>
>
par(mfrow=c(2,2),cex=0.6,mar=c(3,2,3,0))
C1<-bar.err(model$means[1:7, ], ylim=c(0,9), col=0, main="C1", variation="range",border=3,las=2)
C2<-bar.err(model$means[8:15,], ylim=c(0,9), col=0, main="C2", variation="range", border =4,las=2)
C3<-bar.err(model$means[16:22,], ylim=c(0,9), col=0, main="C3", variation="range",border =2,las=2)
C4<-bar.err(model$means[23:30,], ylim=c(0,9), col=0, main="C4", variation="range", border =6,las=2)
C1
C2
C3
geno22
geno21
geno20
geno2
geno19
geno18
geno17
geno16
geno15
geno14
geno13
geno12
geno11
geno10
0
geno1
C4
geno9
geno6
geno5
geno4
geno30
geno3
geno29
geno28
geno27
geno26
geno25
geno24
0
geno23
geno8
geno7
Tutorial de agricolae(Versi
on 1.2-0)
11
12
13
24
25
26
37
38
39
4 10
4 11
4 12
>
>
>
>
1
8
5
5
2
9
2
7
3
6
4
9
sqr block
48.76
114
10.83
126
12.54
139
11.07
248
22.00
257
47.43
266
27.67
371
30.00
385
13.78
398
37.00 4 10 3
42.37 4 11 2
39.00 4 12 7
trt yield
14.46
11
30.69
12
42.01
13
22.00
24
42.80
25
28.28
26
50.00
37
24.00
38
24.00
39
15.42 4 10
30.00 4 11
23.80 4 12
50
3
7
2
1
3
4
6
4
9
5
8
1
19.68
31.00
23.00
41.00
12.90
49.95
25.00
45.57
30.00
20.00
18.00
43.81
rm(list=ls())
A<-read.table("lattice3X3.txt", header=T)
attach(A)
model2<-PBIB.test(block,trt,sqr,yield,k=3,console=TRUE)
ANALYSIS PBIB:
yield
36
Parameter Estimates
Variance
block:sqr 1.604257e-08
sqr
1.668375e-07
Residual 5.693724e+01
AIC
BIC
-2 Res Log Likelihood
Fit Statistics
222.23197
237.78201
-99.11599
Tutorial de agricolae(Versi
on 1.2-0)
trt
block size
block/sqr
sqr
51
.
9
3
3
4
a
ab
40
50
> par(mar=c(2,2,0,0),cex=0.7)
> bar.group(model2$group,ylim=c(0,52),density=10)
ab
bc
30
bc
10
20
cd
> model2$means
1
2
3
4
5
6
7
8
9
Tutorial de agricolae(Versi
on 1.2-0)
> head(model2$comparison,10)
1
1
1
1
1
1
1
1
2
2
2
3
4
5
6
7
8
9
3
4
6.12.
Difference
20.2250
30.4475
7.8050
28.9900
15.6500
13.9925
27.1850
6.2825
10.2225
-12.4200
stderr
5.335599
5.335599
5.335599
5.335599
5.335599
5.335599
5.335599
5.335599
5.335599
5.335599
pvalue
0.001604
0.000032
0.162884
0.000056
0.009746
0.018476
0.000108
0.256228
0.073422
0.033370
Bloques Aumentados
La funci
on DAU.test() se puede utilizar para el analisis del dise
no de bloque aumentados.
Los datos deben ser organizados en una tabla, que contiene los bloques, los tratamientos y la respuesta.
>
>
>
>
block<-c(rep("I",7),rep("II",6),rep("III",7))
trt<-c("A","B","C","D","g","k","l","A","B","C","D","e","i","A","B", "C","D","f","h","j")
yield<-c(83,77,78,78,70,75,74,79,81,81,91,79,78,92,79,87,81,89,96,82)
data.frame(block, trt, yield)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
52
Tutorial de agricolae(Versi
on 1.2-0)
53
block: II
[1] "A" "B" "C" "D" "e" "i"
--------------------------------------------block: III
[1] "A" "B" "C" "D" "f" "h" "j"
Con sus respectivas respuestas:
> by(yield,block,as.character)
block: I
[1] "83" "77" "78" "78" "70" "75" "74"
--------------------------------------------block: II
[1] "79" "81" "81" "91" "79" "78"
--------------------------------------------block: III
[1] "92" "79" "87" "81" "89" "96" "82"
Analysis:
> model<- DAU.test(block,trt,yield,method="lsd",console=TRUE)
ANALYSIS DAU: yield
Class level information
Block:
Trt :
I II III
A B C D e f g h i j k l
Number of observations:
20
Pr(>F)
0.5499
0.6092
0.4779
Pr(>F)
0.3424
0.6092
0.1253
0.4591
Tutorial de agricolae(Versi
on 1.2-0)
54
>>>
> model$means
A
B
C
D
e
f
g
h
i
j
k
l
yield
84.66667
79.00000
82.00000
83.33333
79.00000
89.00000
70.00000
96.00000
78.00000
82.00000
75.00000
74.00000
std
6.658328
2.000000
4.582576
6.806859
NA
NA
NA
NA
NA
NA
NA
NA
A - B
A - C
Difference
pvalue sig.
5.666667 0.229886
2.666667 0.552612
Tutorial de agricolae(Versi
on 1.2-0)
A
A
A
A
A
A
A
A
A
B
B
B
B
B
B
B
B
B
B
C
C
C
C
C
C
C
C
C
D
D
D
D
D
D
D
D
e
e
7.
D
1.333333 0.763840
e
6.416667 0.352008
f -1.833333 0.782870
g 11.416667 0.122820
h -8.833333 0.214268
i
7.416667 0.287856
j
5.166667 0.447652
k
6.416667 0.352008
l
7.416667 0.287856
C -3.000000 0.505810
D -4.333333 0.346250
e
0.750000 0.909986
f -7.500000 0.282986
g
5.750000 0.400838
h -14.500000 0.062832
i
1.750000 0.792448
j -0.500000 0.939900
k
0.750000 0.909986
l
1.750000 0.792448
D -1.333333 0.763840
e
3.750000 0.576996
f -4.500000 0.505810
g
8.750000 0.218080
h -11.500000 0.120612
i
4.750000 0.483424
j
2.500000 0.707876
k
3.750000 0.576996
l
4.750000 0.483424
e
5.083333 0.454650
f -3.166667 0.636308
g 10.083333 0.164000
h -10.166667 0.161078
i
6.083333 0.375804
j
3.833333 0.568798
k
5.083333 0.454650
l
6.083333 0.375804
f -8.250000 0.353836
g
5.000000 0.564920
55
comparaciones no param
etricas
Tutorial de agricolae(Versi
on 1.2-0)
'data.frame':
34 obs. of 3 variables:
$ method
: int 1 1 1 1 1 1 1 1 1 2 ...
$ observation: int 83 91 94 89 89 96 91 92 90 91 ...
$ rx
: num 11 23 28.5 17 17 31.5 23 26 19.5 23 ...
Para los ejemplos, se utilizar
an los datos del paquete agricolae
7.1.
Kruskal-Wallis
> str(kruskal)
function (y, trt, alpha = 0.05, p.adj = c("none", "holm",
"hochberg", "bonferroni", "BH", "BY", "fdr"), group = TRUE,
main = NULL, console = FALSE)
Analysis
> attach(corn)
> out<-kruskal(observation,method,group=TRUE, main="corn", console=TRUE)
Study: corn
Kruskal-Wallis test's
Ties or no Ties
Value: 25.62884
degrees of freedom: 3
Pvalue chisq : 1.140573e-05
method,
1
2
3
4
observation r
21.83333 9
15.30000 10
29.57143 7
4.81250 8
t-Student: 2.042272
Alpha
: 0.05
Minimum difference changes for each comparison
Means with the same letter are not significantly different
Groups, Treatments and mean of the ranks
a
3
29.57
b
1
21.83
c
2
15.3
d
4
4.812
56
Tutorial de agricolae(Versi
on 1.2-0)
57
> detach(corn)
El objeto de salida tiene la misma estructura de las comparaciones ver figura 14.
> par(cex=0.7,mar=c(2,2,1,0))
> bar.group(out$groups,ylim=c(0,35),col=colors()[55],las=1)
35
30
25
20
15
10
5
0
3
7.2.
Friedman
> str(friedman)
function (judge, trt, evaluation, alpha = 0.05, group = TRUE,
main = NULL, console = FALSE)
Analysis
>
>
>
>
+
rm(list=ls())
data(grass)
attach(grass)
out<-friedman(judge,trt, evaluation,alpha=0.05, group=FALSE,
main="Data of the book of Conover",console=TRUE)
t1
t2
evaluation r
38.0 12
23.5 12
Tutorial de agricolae(Versi
on 1.2-0)
t3
t4
58
24.5 12
34.0 12
Friedman's Test
===============
Adjusted for ties
Value: 8.097345
Pvalue chisq : 0.04404214
F value : 3.192198
Pvalue F: 0.03621547
Alpha
: 0.05
t-Student : 2.034515
Comparison between treatments
Sum of the ranks
t1
t1
t1
t2
t2
t3
t2
t3
t4
t3
t4
t4
Difference
14.5
13.5
4.0
-1.0
-10.5
-9.5
pvalue sig.
LCL
0.014896
*
3.02
0.022602
*
2.02
0.483434
-7.48
0.860438
-12.48
0.071736
. -21.98
0.101742
-20.98
UCL
25.98
24.98
15.48
10.48
0.98
1.98
> detach(grass)
7.3.
Waerden
yield
std r
cc -0.2328353 0.3028832 3
Tutorial de agricolae(Versi
on 1.2-0)
59
fc -1.0601764 0.3467934 3
ff 0.6885684 0.7615582 3
oo 0.6044433 0.3742929 3
t-Student: 3.355387
Alpha
: 0.01
LSD
: 1.322487
Means with the same letter are not significantly different
Groups, Treatments and means of the normal score
a
ff
0.6886
a
oo
0.6044
ab
cc
-0.2328
b
fc
-1.06
Las probabilidades de comparaci
on se obtienen con el parametro group = FALSE
> names(out)
[1] "statistics" "parameters" "means"
[5] "groups"
"comparison"
V
ease out$comparison
> out<-waerden.test(yield,virus,group=F,console=TRUE)
Study: yield ~ virus
Van der Waerden (Normal Scores) test's
Value : 8.409979
Pvalue: 0.03825667
Degrees of freedom:
virus,
yield
std r
cc -0.2328353 0.3028832 3
fc -1.0601764 0.3467934 3
ff 0.6885684 0.7615582 3
oo 0.6044433 0.3742929 3
Comparison between treatments means
mean of the normal score
cc
cc
cc
fc
fc
ff
fc
ff
oo
ff
oo
oo
Difference
0.8273411
-0.9214037
-0.8372786
-1.7487448
-1.6646197
0.0841251
pvalue sig.
LCL
UCL
0.069032
. -0.08154345 1.73622564
0.047582
* -1.83028827 -0.01251917
0.066376
. -1.74616316 0.07160593
0.002176
** -2.65762936 -0.83986026
0.002902
** -2.57350426 -0.75573516
0.836322
-0.82475944 0.99300965
> detach(sweetpotato)
Tutorial de agricolae(Versi
on 1.2-0)
7.4.
60
Durbin
durbin.test(); ejemplo: Myles Hollander (p.311) fuente: W. Moore and C.I. Bliss.(1942)
> str(durbin.test)
function (judge, trt, evaluation, alpha = 0.05, group = TRUE,
main = NULL, console = FALSE)
An
alisis
>
>
>
+
>
days <-gl(7,3)
chemical<-c("A","B","D","A","C","E","C","D","G","A","F","G", "B","C","F", "B","E","G","D","E","F")
toxic<-c(0.465,0.343,0.396,0.602,0.873,0.634,0.875,0.325,0.330,0.423,0.987,0.426,0.652,1.142,
0.989,0.536,0.409,0.309, 0.609,0.417,0.931)
out<-durbin.test(days,chemical,toxic,group=F,console=TRUE,main="Logarithm of the toxic dose")
A
B
C
D
E
F
G
sum
5
5
9
5
5
8
5
Durbin Test
===========
Value
:
Df 1
:
P-value
:
Alpha
:
Df 2
:
t-Student :
7.714286
6
0.2597916
0.05
8
2.306004
A - B
A - C
A - D
Difference
pvalue sig.
0 1.000000
-4 0.102688
0 1.000000
Tutorial de agricolae(Versi
on 1.2-0)
A
A
A
B
B
B
B
B
C
C
C
C
D
D
D
E
E
F
E
F
G
C
D
E
F
G
D
E
F
G
E
F
G
F
G
G
8.
0
-3
0
-4
0
0
-3
0
4
4
1
4
0
-3
0
-3
0
3
61
1.000000
0.204420
1.000000
0.102688
1.000000
1.000000
0.204420
1.000000
0.102688
0.102688
0.657370
0.102688
1.000000
0.204420
1.000000
0.204420
1.000000
0.204420
An
alisis de Estabilidad
En agricolae hay dos metodos para el estudio de la estabilidad y el modelo AMMI. Estos son: un modelo parametrico para una selecci
on simult
anea en el rendimiento y la estabilidad SHUKLAS STABILITY VARIANCE AND
KANGS, referencia [6] y un metodo no parametrico de Haynes, con base en el rango de datos..
8.1.
Estabilidad param
etrico
v1
v2
v3
v4
v5
<<<<<-
c(10.2,8.8,8.8,9.3,9.6,7.2,8.4,9.6,7.9,10,9.3,8.0,10.1,9.4,10.8,6.3,7.4)
c(7,7.8,7.0,6.9,7,8.3,7.4,6.5,6.8,7.9,7.3,6.8,8.1,7.1,7.1,6.4,4.1)
c(5.3,4.4,5.3,4.4,5.5,4.6,6.2,6.0,6.5,5.3,5.7,4.4,4.2,5.6,5.8,3.9,3.8)
c(7.8,5.9,7.3,5.9,7.8,6.3,7.9,7.5,7.6,5.4,5.6,7.8,6.5,8.1,7.5,5.0,5.4)
c(9,9.2,8.8,10.6,8.3,9.3,9.6,8.8,7.9,9.1,7.7,9.5,9.4,9.4,10.3,8.8,8.7)
Tutorial de agricolae(Versi
on 1.2-0)
62
8.2.
Estabilidad no param
etrico
8.3.
AMMI
El modelo AMMI utiliza el biplot construida a traves de los principales componentes generados por la interacci
on
ambiente - genotipo. Si existe esa interacci
on , el porcentaje de los dos componentes principales explicara m
as que
el 50 % de la variaci
on total ; en tal caso , la biplot sera una buena alternativa para estudiar la interaccion ambiente
- genotipo . Referencia [4, 15]
Los datos para AMMI deben provenir de experimentos similares llevados a cabo en diferentes entornos . La homogeneidad de la varianza del error experimental , producido en los diferentes ambientes, se requiere. El an
alisis se
realiza mediante la combinaci
on de los experimentos.
Los datos pueden ser organizados en columnas, as: el medio ambiente, el genotipo, la repeticion y variable.
Los datos tambien pueden ser los promedios de los genotipos en cada ambiente , pero es necesario tener en cuenta
una media arm
onica de las repeticiones y una varianza com
un del error. Los datos deben ser organizados en columnas
: el medio ambiente , el genotipo y variable.
Al realizar AMMI , esto genera los gr
aficos Biplot ; Vea las figuras ??.
Para la aplicaci
on, tenemos en cuenta los datos utilizados en el ejemplo de estabilidad parametrica:
Estructura de AMMI
> str(AMMI)
function (ENV, GEN, REP, Y, MSE = 0, console = FALSE,
PC = FALSE)
Estructura de plot.AMMI, plot()
> str(plot.AMMI)
function (x, first = 1, second = 2, third = 3, type = 1,
number = FALSE, gcol = NULL, ecol = NULL, icol = NULL,
angle = 25, lwd = 1.8, length = 0.1, xlab = NULL,
ylab = NULL, xlim = NULL, ylim = NULL, ...)
type: 1=biplot, 2= triplot 3=influencia del genotipo
>
>
>
>
>
data(plrv)
attach(plrv)
model<- AMMI(Locality, Genotype, Rep, Yield, console=FALSE)
detach(plrv)
names(model)
[1] "ANOVA"
[6] "PC"
"genXenv"
"analysis" "means"
"biplot"
Tutorial de agricolae(Versi
on 1.2-0)
63
> model$ANOVA
Analysis of Variance Table
Response: Y
Df Sum Sq Mean Sq F value
Pr(>F)
ENV
5 122284 24456.9 257.0382 9.08e-12
REP(ENV)
12
1142
95.1
2.5694 0.002889
GEN
27 17533
649.4 17.5359 < 2.2e-16
ENV:GEN
135 23762
176.0
4.7531 < 2.2e-16
Residuals 324 11998
37.0
--Signif. codes:
0 *** 0.001 ** 0.01 * 0.05 . 0.1 1
***
**
***
***
> model$analysis
PC1
PC2
PC3
PC4
PC5
percent acum
56.3 56.3
27.1 83.3
9.4 92.7
4.3 97.1
2.9 100.0
Df
Sum.Sq
Mean.Sq F.value
Pr.F
31 13368.5954 431.24501
11.65 0.0000
29 6427.5799 221.64069
5.99 0.0000
27 2241.9398 83.03481
2.24 0.0005
25 1027.5785 41.10314
1.11 0.3286
23
696.1012 30.26527
0.82 0.7059
2
0
4 2
PC2 (27.1)
LM03
157.26 319.20
Desiree 102.18
351.26
450.3
121.31
Ayac
141.28
320.16
SR02
Canchan
221.19
405.2
241.2
SR03
317.6
402.7
163.9
506.2
314.12
346.2
364.21
427.7
342.15
LM02
233.11
255.7
104.22
406.12
235.6
Unica
Hyo02
4
PC2 (27.1)
PC3 (9.4)
Desiree
157.26
102.18
LM02 320.16
LM03
SR02
SR03
121.31
221.19
Ayac
241.2
405.2
163.9
506.2
450.3
351.26346.2
319.20
402.7
317.6
342.15
427.7
364.21
314.12
255.7
141.28
104.22
Canchan
233.11
406.12
Unica
235.6
PC1 (56.3)
PC1 (56.3)
Hyo02
Tutorial de agricolae(Versi
on 1.2-0)
64
> par(mar=c(4,4,1,0))
> plot(model,type=3,number=TRUE)
LM03
5
27
18
24
1
3
Ayac
4
15 7
SR02
26
SR03 621 1025
1312
17 16 2019
23
LM02
82
11
22
9
28
14
PC2 (27.1)
Hyo02
4
PC1 (56.3)
Figura 16: Influencia del genotipo
9.
9.1.
Funciones especiales
Consenso de dendrograma
El consenso es el grado o la similitud de los vertices de un arbol sobre sus ramas del dendrograma construido. La
funci
on para aplicar es consensus().
Los datos corresponden a una tabla, con el nombre de los individuos y las variables en las filas y columnas respectivamente. Para la demostraci
on, se utilizar
a los datos pamCIP de agricolae, que corresponden a los marcadores
moleculares de 43 entradas de un banco de germoplasma (filas) y 107 marcadores (columnas).
El programa identifica duplicados en las filas y puede operar en ambos casos. El resultado es un dendrograma, en
el que se incluye el porcentaje de consenso, vease la figura 17.
Cuando el dendrograma es compleja, es conveniente para extraer parte de el con la funcion hcut(), consulte la figura
18. El objeto salida contiene informaci
on sobre el proceso:
> names(output)
[1] "table.dend" "dendrogram" "duplicates"
Esto significa que podemos conocer los duplicados, reconstruir el diagrama de arbol y mantener la interacci
on, vease
Figura 19. repitiendo dendrogramas: Construir un dendrograma cl
asico, v
ease figura 20.
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
65
par(cex=0.6,mar=c(3,3,2,0))
data(pamCIP)
rownames(pamCIP)<-substr(rownames(pamCIP),1,6)
output<-consensus(pamCIP,distance="binary", method="complete", nboot=5)
Duplicates: 18
New data : 25 Records
Consensus hclust
Method distance:
Method cluster :
rows and cols :
n-bootstrap
:
Run time
:
binary
complete
25 107
5
0.9540019 secs
Cluster Dendrogram
80
60
0
20
705951
702631
704880
702078
40 60
702445
100
60 40
706272
706268
703973
706777
100
60
701014
706260
703258
705750
80
60
702619
707132
702615
706776
80
704231
100
100
10060
702443
60
100
719083
704815
704229
100
100
702305
704232
100
702650
0.4
0.0
Height
0.8
100
> par(cex=0.6,mar=c(3,3,1.5,0))
> out1<- hcut(output,h=0.4,group=8,type="t",edgePar = list(lty=1:2, col=colors()[c(42,84)]),
+ main="group 8" ,col.text="blue",cex.text=1,las=1)
group 8
100
0.20
0
0.15
20
0.10
40
60
705951
702445
702078
704880
702443
702305
706272
0.00
60
40
702631
0.05
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
66
par(mar=c(0,2,1,0),cex=0.7)
dend<-output$dendrogram
data<-output$table.dend
plot(dend)
text(data[,3],data[,4],data[,5])
Cluster Dendrogram
100
60
80
60
20
702445
702631
702078
704880
702443
40 60
60 40
par(mar=c(3,3,1,1),cex=0.8)
dend<-as.dendrogram(output$dendrogram)
plot(dend,type="r",edgePar = list(lty=1:2, col=colors()[c(42,84)]) ,las=1)
text(data[,3],data[,4],data[,5],col="blue")
100
100
0.8
60
100
80
0.6
60
100
0.4
0.2
100
60
80
60
100
80
100
60
> head(output$table.dend)
60
40
40
60
20
702650
704229
704815
704232
719083
706776
702615
707132
705750
702619
703258
706260
701014
703973
706268
706777
704231
706272
702305
702443
704880
702078
702631
702445
705951
100
0.0
100
100
X1 X2 xaxis
height percentage groups
-6 -24 7.50 0.02857143
60
6-24
705951
100
706272
706777
100
706268
60
703973
706260
60
701014
705750
80
702619
707132
706776
702615
719083
704815
80
100
60
702305
100
100
100
704231
100
703258
702650
704232
100
704229
0.0
0.4
0.8
100
Tutorial de agricolae(Versi
on 1.2-0)
67
2 -3 -4 19.50 0.03571429
3 -2 -8 22.50 0.03846154
4 -7 -10 10.50 0.03846154
5 -21
2 18.75 0.07142857
6 -16
3 21.75 0.07407407
9.2.
40
3-4
60
2-8
60
7-10
60 3-4-21
40 2-8-16
Montecarlo
data(soil)
set.seed(9473)
simulated <- montecarlo(soil$pH,1000)
h<-graph.freq(simulated,nclass=7,plot=F)
>
>
>
>
>
par(mar=c(2,0,2,1))
plot(density(soil$pH),axes=F,main="pH density of the soil\ncon Ralstonia",xlab="",lwd=4)
lines(density(simulated), col="blue", lty=4,lwd=4)
axis(1,0:12)
legend("topright",c("Original","Simulated"),lty=c(1,4),col=c("black", "blue"), lwd=4)
10
[1,]
[2,]
[3,]
[4,]
CF
22
123
358
574
RCF
0.02
0.12
0.36
0.57
11
Tutorial de agricolae(Versi
on 1.2-0)
[5,]
[6,]
[7,]
183
187
56
68
Median
6.100
Max.
8.400
9.3.
Median
6.090
Max.
10.290
data(potato)
potato[,1]<-as.factor(potato[,1])
potato[,2]<-as.factor(potato[,2])
model<-"cutting~variety + date + variety:date"
analysis<-resampling.model(model, potato, k=100)
La funci
on resampling.model() puede ser utilizada cuando los errores tienen una distribucion diferente a la normal.
9.4.
Simulaci
on en el modelo lineal
9.5.
An
alisis Path
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
>
69
corr.x<- matrix(c(1,0.5,0.5,1),c(2,2))
corr.y<- rbind(0.6,0.7)
names<-c("X1","X2")
dimnames(corr.x)<-list(names,names)
dimnames(corr.y)<-list(names,"Y")
output<-path.analysis(corr.x,corr.y)
0.4266667
> output
$Coeff
X1
X2
X1 0.3333333 0.2666667
X2 0.1666667 0.5333333
$Residual
[1] 0.4266667
9.6.
Linea X Probador
Se corresponde a un an
alisis de cruzamiento de un dise
no genetico. Los datos deben ser organizados en una tabla.
S
olo se requieren cuatro columnas: la repetici
on, las mujeres, los hombres, y la respuesta. En caso de que corresponde
a los progenitores, las mujeres o los hombres de campo solo se llenaran con el correspondiente. Consulte los datos
de heterosis.
Ejemplo con los datos de heterosis, localidad 2.
109
110
...
131
132
...
140
...
215
Replication
1
1
Female
Male
v2
LT-8 TS-15 2.65
LT-8 TPS-13 2.26
<NA> 3.35
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
>
70
rm(list=ls())
data(heterosis)
site2<-subset(heterosis,heterosis[,1]==2)
site2<-subset(site2[,c(2,5,6,8)],site2[,4]!="Control")
attach(site2)
output1<-lineXtester(Replication, Female, Male, v2)
v2
Mean Sq F value
0.259595238
9.801
0.473576639 17.879
0.773149091 29.189
0.005082861
0.192
0.363697041 13.731
0.026487395
Tutorial de agricolae(Versi
on 1.2-0)
Crosses
Lines
Testers
Lines X Testers
Error
Total
71
0.0000
0.0191
0.2256
0.0000
GCA Effects:
===========
Lines Effects:
Achirana
LT-8
0.022
-0.338
TPS-25
TPS-7
0.414
0.141
MF-I
0.199
MF-II
-0.449
Serrana
0.058
Testers Effects:
TPS-13 TPS-67 TS-15
0.087 0.046 -0.132
SCA Effects:
===========
Testers
Lines
TPS-13
Achirana 0.061
LT-8
-0.435
MF-I
-0.122
MF-II
-0.194
Serrana
0.032
TPS-2
0.197
TPS-25
0.126
TPS-7
0.336
TPS-67
0.059
0.519
-0.065
0.047
-0.113
-0.072
-0.200
-0.173
TS-15
-0.120
-0.083
0.187
0.148
0.081
-0.124
0.074
-0.162
0.01546921
0.007734604
0.1128228
0.05641141
TPS-2
-0.047
Tutorial de agricolae(Versi
on 1.2-0)
72
===========================================
Contributions of lines : 59.48026
Contributions of testers: 7.763104
Contributions of lxt
: 32.75663
> detach(site2)
9.7.
12.5
10.5
cv
11.5
9.0 9.5
50
100
1
2
3
4
5
6
7
8
150
Tutorial de agricolae(Versi
on 1.2-0)
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
9.8.
6
6
6
8
9
9
9
12
12
12
12
18
18
18
18
18
24
24
27
27
36
36
36
36
54
54
54
72
81
108
108
162
2
3
6
2
1
3
9
1
2
3
6
1
2
3
6
9
2
6
3
9
2
3
6
9
3
6
9
6
9
6
9
9
3
2
1
4
9
3
1
12
6
4
2
18
9
6
3
2
12
4
9
3
18
12
6
4
18
9
6
12
9
18
12
18
108
108
108
81
72
72
72
54
54
54
54
36
36
36
36
36
27
27
24
24
18
18
18
18
12
12
12
9
8
6
6
4
6826.889
6812.627
6480.927
6611.042
6276.257
6550.445
6029.794
5769.816
6239.270
6437.818
6199.754
4683.748
6063.466
6074.789
5954.826
5794.902
5558.070
5904.217
5943.106
5571.450
4552.791
5452.777
5662.243
5537.279
4473.072
5611.097
5323.471
5153.500
5276.787
4272.874
4847.973
4009.765
73
11.3
11.3
11.0
11.1
10.8
11.0
10.6
10.4
10.8
10.9
10.7
9.3
10.6
10.6
10.5
10.4
10.2
10.5
10.5
10.2
9.2
10.1
10.3
10.1
9.1
10.2
9.9
9.8
9.9
8.9
9.5
8.6
Los ndices de biodiversidad son ampliamente utilizados para la medicion de la presencia de los seres vivos en una
zona ecol
ogica. Muchos programas indican su valor. La funcion de agricolae es tambien para mostrar los intervalos
de confianza, que pueden ser utilizados para una comparacion estadstica. Utilice el procedimiento de arranque. Los
datos se organizan en una tabla; la especie se colocan en una columna; y en otra el n
umero de individuos. Los ndices
que se pueden calcular con la funci
on index.bio() de agricolae son: Margalef, Simpson.Dom, Simpson.Div,
Berger.Parker, McIntosh, and Shannon.
En el siguiente ejemplo, vamos a utilizar los datos obtenidos en la localidad de Paracsho, distrito de Huasahuasi,
provincia de Tarma, en el departamento de Junn.
La evaluaci
on se llev
o a cabo en las parcelas, el 17 de noviembre de 2005, sin la aplicacion de insecticidas. Los
especmenes fueron contados los siguientes:
> data(paracsho)
> species <- paracsho[79:87,4:6]
> species
Orden
79
DIPTERA
80 LEPIDOPTERA
Family Number.of.specimens
TIPULIDAE
3
NOCTUIDAE
1
Tutorial de agricolae(Versi
on 1.2-0)
81
82
83
84
85
86
87
NOCTUIDAE
PYRALIDAE
HEMIPTERA ANTHOCORIDAE
DIPTERA
TACHINIDAE
DIPTERA ANTHOCORIDAE
DIPTERA SCATOPHAGIDAE
DIPTERA
SYRPHIDAE
DIPTERA
MUSCIDAE
74
3
1
16
3
5
1
3
9.9.
Correlaci
on
La funci
on correlation() de agricolae calcula las correlaciones a traves de los metodos de Pearson, Spearman y
Kendall para vectores y/o matrices. Si son dos vectores, la prueba se lleva a cabo para una o dos colas; si se trata
de una matriz, determina las probabilidades de una diferencia si es mayor o menor que cero.
Para su aplicaci
on, tenga en cuenta los datos del suelo: data(soil)
> data(soil)
> correlation(soil[,2:4],method="pearson")
Correlation Analysis
Method
: pearson
Alternative: two.sided
$correlation
pH
EC CaCO3
pH
1.00 0.55 0.73
EC
0.55 1.00 0.32
CaCO3 0.73 0.32 1.00
$pvalue
pH
EC
CaCO3
pH
1.000000000 0.0525330 0.004797027
EC
0.052532997 1.0000000 0.294159813
CaCO3 0.004797027 0.2941598 1.000000000
$n.obs
[1] 13
> attach(soil)
The following objects are masked from soil (position 4):
Tutorial de agricolae(Versi
on 1.2-0)
: pearson
75
Tutorial de agricolae(Versi
on 1.2-0)
Alternative: two.sided
$correlation
EC CaCO3
pH 0.55 0.73
$pvalue
EC CaCO3
pH 0.0525 0.0048
$n.obs
[1] 13
> correlation(pH,CaCO3,method="pearson")
Pearson's product-moment correlation
data: pH and CaCO3
t = 3.520169 , df = 11 , p-value = 0.004797027
alternative hypothesis: true rho is not equal to 0
sample estimates:
cor
0.7278362
9.10.
Otras funciones
76
Tutorial de agricolae(Versi
on 1.2-0)
77
Si A es una tabla con columnas de 1,2 y 3 (categor) y las columnas 5,6 y 7 las variables, los siguientes procedimientos son v
alidos en agricolae:
tapply.stat(A[,5:7], A[,1:3],mean)
tapply.stat(A[,5:7], A[,1:3],function(x) mean(x,na.rm=TRUE))
tapply.stat(A[,c(7,6)], A[,1:2],function(x) sd(x)*100/mean(x))
Coeficiente de variaci
on del experimento
Si modelo.es el objeto resultante de un an
alisis de la varianza de la funcion AOV o LM() de R, entonces la funci
on
de cv.model() calcula del coeficiente de variacion.
> data(sweetpotato)
> model <- model<-aov(yield ~ virus, data=sweetpotato)
> cv.model(model)
[1] 17.1666
Asimetra curtosis
Los resultados de la asimetra y la curtosis, obtenidos por agricolae, son iguales a los obtenidos por SAS, Minitab,
SPSS, InfoStat y Excel.
If x represents a data set:
> x<-c(3,4,5,2,3,4,5,6,4,NA,7)
La asimetra se calcula con:
> skewness(x)
[1] 0.3595431
y curtosis con:
> kurtosis(x)
[1] -0.1517996
Valor tabular de Waller-Duncan
La funci
on Waller() determina el valor tabular de Waller-Duncan. Para el calculo se requiere el valor F calculada
a partir del an
alisis de la varianza del factor de estudio, con sus grados de libertad y la estimacion de la varianza
del error experimental. El valor K es par
ametro de la funcion y es la relacion entre los dos tipos de errores (I y II).
Para aplicar, se le asigna un valor asociado con el nivel alfa, por ejemplo, cuando alfa es 0,10, k=50; para 0,05, K
= 100; y para alfa 0.01, K = 500. K puede tomar cualquier valor.
La figura 23 ilustra la funci
on para diferentes valores de K con grados de libertad de 5 para el numerador y el 15
para el denominador y los valores de F calculado, igual a 2, 4 y 8.
>
>
>
>
>
>
>
>
>
q<-5
f<-15
K<-seq(10,1000,100)
n<-length(K)
y<-rep(0,3*n)
dim(y)<-c(n,3)
for(i in 1:n) y[i,1]<-waller(K[i],q,f,Fc=2)
for(i in 1:n) y[i,2]<-waller(K[i],q,f,Fc=4)
for(i in 1:n) y[i,3]<-waller(K[i],q,f,Fc=8)
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
>
78
par(mar=c(3,3,4,0),cex=0.7)
plot(K,y[,1],type="l",col="blue",ylab="waller",bty="l")
lines(K,y[,2],type="l",col="brown",lty=2,lwd=2)
lines(K,y[,3],type="l",col="green",lty=4,lwd=2)
legend("topleft",c("2","4","8"),col=c("blue","brown","green"),lty=c(1,8,20),lwd=2,title="Fc")
title(main="Waller en funci\'on de K")
4.5
Waller en funci'on de K
Fc
3.0
2.5
1.5
2.0
waller
3.5
4.0
2
4
8
200
400
600
800
K<-100
Fc<-1.2
q<-c(seq(6,20,1),30,40,100)
f<-c(seq(4,20,2),24,30)
n<-length(q)
m<-length(f)
W.D <-rep(0,n*m)
dim(W.D)<-c(n,m)
for (i in 1:n) {
for (j in 1:m) {
W.D[i,j]<-waller(K, q[i], f[j], Fc)
}}
W.D<-round(W.D,2)
dimnames(W.D)<-list(q,f)
cat("tabla: Waller Duncan k=100, F=1.2")
6
7
8
4
6
8
10
12
14
16
18
20
24
30
2.85 2.87 2.88 2.89 2.89 2.89 2.89 2.88 2.88 2.88 2.88
2.85 2.89 2.92 2.93 2.94 2.94 2.94 2.94 2.94 2.94 2.94
2.85 2.91 2.94 2.96 2.97 2.98 2.99 2.99 2.99 3.00 3.00
Tutorial de agricolae(Versi
on 1.2-0)
9
10
11
12
13
14
15
16
17
18
19
20
30
40
100
2.85
2.85
2.85
2.85
2.85
2.85
2.85
2.85
2.85
2.85
2.85
2.85
2.85
2.85
2.85
2.92
2.93
2.94
2.95
2.96
2.96
2.97
2.97
2.98
2.98
2.98
2.99
3.01
3.02
3.04
2.96
2.98
3.00
3.01
3.02
3.03
3.04
3.05
3.06
3.07
3.07
3.08
3.11
3.13
3.17
2.99
3.01
3.04
3.05
3.07
3.08
3.10
3.11
3.12
3.13
3.13
3.14
3.19
3.22
3.28
3.01
3.04
3.06
3.08
3.10
3.12
3.13
3.15
3.16
3.17
3.18
3.19
3.26
3.29
3.36
79
3.02
3.05
3.08
3.10
3.12
3.14
3.16
3.18
3.19
3.21
3.22
3.23
3.31
3.35
3.44
3.03
3.06
3.09
3.12
3.14
3.16
3.18
3.20
3.22
3.23
3.25
3.26
3.35
3.39
3.50
3.03
3.07
3.10
3.13
3.16
3.18
3.20
3.22
3.24
3.25
3.27
3.28
3.38
3.43
3.55
3.04
3.08
3.11
3.14
3.17
3.19
3.21
3.24
3.25
3.27
3.29
3.30
3.41
3.47
3.59
3.04
3.09
3.12
3.16
3.19
3.21
3.24
3.26
3.28
3.30
3.32
3.33
3.45
3.52
3.67
3.05
3.10
3.14
3.17
3.20
3.23
3.26
3.29
3.31
3.33
3.35
3.37
3.50
3.58
3.76
AUDPC
El
area bajo la curva de progreso de la enfermedad (AUDPC), vease la figura 24, calcula el progreso absoluto y
relativo de la enfermedad. Es necesario medir la enfermedad en terminos porcentuales durante varias fechas, de
preferencia de manera equidistante.
No Aditividad
La prueba de Tukey para la no aditividad se utiliza cuando existen dudas sobre la veracidad de adicion de un modelo.
Esta prueba confirma tal hip
otesis y se espera para aceptar la hipotesis nula de efecto no aditivo del modelo.
Para esta prueba se requiere todos los datos experimentales utilizados en la estimacion del modelo lineal aditivo.
La funci
on nonadditivity() de agricolae y los datos experimentales de potato del paquete agricolae, se utilizaran
para la prueba; en este caso, el modelo corresponde al dise
no de bloques completos para el estudio comparativo de
variedades.
>
>
>
>
>
>
>
data(potato)
potato[,1]<-as.factor(potato[,1])
model<-lm(cutting ~ date + variety,potato)
df<-df.residual(model)
MSerror<-deviance(model)/df
attach(potato)
analysis<-nonadditivity(cutting, date, variety, df, MSerror)
Tutorial de agricolae(Versi
on 1.2-0)
>
>
>
>
>
>
>
>
>
>
80
par(mar=c(3,3,4,0),cex=0.7)
days<-c(7,14,21,28,35,42)
evaluation<-data.frame(E1=10,E2=40,E3=50,E4=70,E5=80,E6=90)
par(mar=c(4,4,1,1))
plot(days, evaluation,type="h",ylim=c(0,100),axes=F,col= colors()[42],xlab="Dias", ylab="Evaluacion")
lines(days,evaluation,col= colors()[42])
axis(1,days)
axis(2,seq(0,100,20),las=2)
rect(7,0,42,100)
audpc(evaluation,days)
[1] 2030
> audpc(evaluation,days,"relative")
[1] 0.58
> text(15,80,"Audpc Absolutoe = 2030")
> text(15,70,"Audpc Relativo = 0.58")
100
80
Evaluacion
40
20
0
7
14
21
28
35
42
Dias
LATEBLIGHT
LATEBLIGHT es un modelo matem
atico que simula el efecto del clima, el crecimiento de acogida y la resistencia,
el uso de fungicidas en el desarrollo asexual y el crecimiento de Phytophthora infestans en follaje de la papa.
LATEBLIGHT Versi
on LB2004 fue creado en octubre de 2004 (Andrade-Piedra et al., 2005a, byc), basado en la
versi
on C escrito por BE Ticknor (BET 21191 modification of cbm8d29.c), escrito por Doster et al. (1990) y
descrito en detalle por Fry et al. (1991) (Esta version se denomina como LB1990 por Andrade-Piedra et al. [2005a]).
La primera versi
on de LATEBLIGHT fue desarrollado por Bruhn y Fry (1981) y se describe en detalle por Bruhn et
al. (1980). El programa fue implementado como una funcion en R por Felipe de mendiburu en agricolae. Aplicaci
on,
vease la figura 25
>
>
>
>
Tutorial de agricolae(Versi
on 1.2-0)
81
>
>
>
>
>
>
>
>
>
>
+
>
>
>
>
>
>
>
>
>
>
>
weather[,1]<-as.Date(weather[,1],format = "%m/%d/%Y")
# Parameters dates
dates<-c("2000-03-25","2000-04-09","2000-04-12","2000-04-16","2000-04-22")
dates<-as.Date(dates)
EmergDate <- as.Date('2000/01/19')
EndEpidDate <- as.Date("2000-04-22")
dates<-as.Date(dates)
NoReadingsH<- 1
RHthreshold <- 90
WS<-weatherSeverity(weather,severity,dates,EmergDate,EndEpidDate,
NoReadingsH,RHthreshold)
# Parameters Lateblight
InocDate<-"2000-03-18"
LGR <- 0.00410
IniSpor <- 0
SR <- 292000000
IE <- 1.0
LP <- 2.82
InMicCol <- 9
Cultivar <- 'NICOLA'
ApplSys <- "NOFUNGICIDE"
main<-"Cultivar: NICOLA"
>
>
>
+
+
par(mar=c(3,3,4,0),cex=0.7)
#-------------------------model<-lateblight(WS, Cultivar,ApplSys, InocDate, LGR,IniSpor,SR,IE, LP,MatTime='LATESEASON',InMicCol,
main=main,type="l",xlim=c(65,95),lwd=1.5,xlab="Tiempo (d\'ias despu\'es de la emergencia)",
ylab="Severidad (Porcentaje)")
100
60
LATESEASON
0 20
Severidad (Porcentaje)
Cultivar: NICOLA
65
70
75
80
85
> head(model$Gfile)
dates nday MeanSeverity StDevSeverity
Eval1 2000-03-25
66
0.1
0.000000
MinObs
0.100000
90
95
Tutorial de agricolae(Versi
on 1.2-0)
Eval2
Eval3
Eval4
Eval5
Eval1
Eval2
Eval3
Eval4
Eval5
2000-04-09
2000-04-12
2000-04-16
2000-04-22
MaxObs
0.10000
45.52246
89.71085
101.96869
101.00000
81
84
88
94
82
20.8
57.0
94.0
97.0
24.722459
32.710854
7.968689
4.000000
-3.922459
24.289146
86.031311
93.000000
Repitiendo de gr
afico
vease la figura 26
x<- model$Ofile$nday
y<- model$Ofile$SimSeverity
w<- model$Gfile$nday
z<- model$Gfile$MeanSeverity
Min<-model$Gfile$MinObs
Max<-model$Gfile$MaxObs
>
>
+
>
>
>
+
par(mar=c(3,2.5,1,0),cex=0.7)
plot(x,y,type="l",xlim=c(65,95),lwd=1.5,xlab="Time (days after emergence)",
ylab="Severidad (Porcentaje)")
points(w,z,col="red",cex=1,pch=19); npoints <- length(w)
for ( i in 1:npoints)segments(w[i],Min[i],w[i],Max[i],lwd=1.5,col="red")
legend("topleft",c("Curva del progreso de la enfermedad","Tiempo-Severidad"),
title="Descripcion",lty=1,pch=c(3,19),col=c("black","red"))
100
>
>
>
>
>
>
Descripcion
80
60
20
40
65
70
75
80
85
90
95
Tutorial de agricolae(Versi
on 1.2-0)
83
C
odigo para caracteres ASCII
Codigo
92
47
91
93
40
41
123
125
37 %
)
126
~
38
&
{
58
:
39
}
59
;
Tutorial de agricolae(Versi
on 1.2-0)
84
Referencias
[1] Cochran and Cox., 1992. Experimental Design. Second edition. Wiley Classics Library Edition published. John
Wiley & Sons, INC.
[2] Conover, W.J, 1999. Practical Nonparametrics Statistics, John Wiley & Sons, INC, New York.
[3] De Mendiburu, Felipe, 2009. Una herramienta de an
alisis estadstico para la investigaci
on agrcola, Universidad
Nacional de Ingeniera (UNI).
[4] Haynes K G, Lambert D H, Christ B J, Weingartner D P, Douches D S, Backlund J E, Fry W and Stevenson
W. 1998. Phenotypic stability of resistance to late blight in potato clones evaluated at eight sites in the United
States American, Journal Potato Research 75, pag 211-21.
[5] Joshi, D.D., 1987. Linear Estimation and Design of Experiments, WILEY EASTERN LIMITED, New Delhi,
India.
[6] Kang, M. S. 1993. Simultaneous Selection for Yield and Stability: Consequences for Growers, Agron. J. 85:754757.
[7] Kuehl, Robert, 2000. Design of Experiments, 2nd ed., Duxbury.
[8] LeClerg, Erwin, 1962. Field Plot Technique, Burgess Publishing Company.
[9] Manjit S., Kang Hugh G., Gauch Jr. 1962. Field Plot Technique, Burgess Publishing Company.
[10] Montgomery, 2002. Dise
no y An
alisis de Experimentos, 2nd Ed, WILEY.
[11] Patterson, H.D. and Williams, E.R., 1976. A New Class of Resolvable Incomplete Block Designs, Biometrika,Printed in Great Britain.
[12] R Core Team, 2014. A language and environment for statistical computing, R Foundation for Statistical Computing, Vienna, Austria. www.R-project.org
[13] Singh R. K., Chaudhary B. D., 1979. Biometrical Methods in Quantitative Genetic Analysis.Kalyani Publishers
[14] Steel & Torry & Dickey, 1997. Principles and Procedures of Statistic a Biometrical Approach. Third Edition.
The Mc Graw Hill companies, Inc
[15] Weikai Yan and Manjit S. Kang, 2003. GGE Biplot Analysis: A graphical tool for breeder, geneticists, and
agronomists. CRC Press. Printed in the United States of America.