########## Propabilidad de que la suma de dos dados sea igual a 7##########
n.caras=6;n.lz=seq(0,5000,100)  #Se definen el número de caras y el numero de simulaciones
Cara1 <- Cara2 <- Suma <- sum7 <- A <- PA <- c() #Se generan los distintos vectores vacios que serán usados en la siulación
for (i in 1:length(n.lz)) { # Se crea un promer bucle que se encarga de recorrer las posiciones los distintos elementos de n.lz
  for (j in 1:n.lz[i]) { #se crea un segundo bucle que se encarga de hacer el numero de simulaciones segun el numero en la posición i en el vector n.lz
    Cara1[j] <- sample(1:n.caras,1,replace=T) #Se toma una muestra del 1 al 6 y se almacena en la posicion j
    Cara2[j] <- sample(1:n.caras,1,replace=T) #Se toma una muestra del 1 al 6 y se almacena en la posicion j
    Suma[j] <- Cara1[j]+Cara2[j] #se realiza la suma de las anteriores muestras y se almacenan en otro vector en la posición j
    sum7[j] <- Suma[j]==7 #Se realiza una operacion logica en la que se los valores de las sumas sea igual a 7 alamcenandolos como 1=True y 0=False
    A[i] <- sum(sum7) #Se suman el numero de 1 obetenidos con la operacion anterior y son alamacenados en un vector en la posicion i
    PA[i] <- A[i]/n.lz[i] # se calcula la frecuencia relativa de las  sumas que dan como resultado 7, y son almacenados en un vector en la posicion i
  } 
} 
Tabla <- data.frame("No de lanzamientos"=n.lz,A,"probabilidad de que sumen 7"=PA); Tabla #se crea un data frame donde se relaciona la frecuencia absoluta y relativa de que la suma de los dados se igual a 7 Segun el numero de lanzamientos
##    No.de.lanzamientos   A probabilidad.de.que.sumen.7
## 1                   0   0                         NaN
## 2                 100  20                   0.2000000
## 3                 200  31                   0.1550000
## 4                 300  52                   0.1733333
## 5                 400  76                   0.1900000
## 6                 500  79                   0.1580000
## 7                 600 100                   0.1666667
## 8                 700 125                   0.1785714
## 9                 800 150                   0.1875000
## 10                900 134                   0.1488889
## 11               1000 176                   0.1760000
## 12               1100 185                   0.1681818
## 13               1200 196                   0.1633333
## 14               1300 203                   0.1561538
## 15               1400 206                   0.1471429
## 16               1500 284                   0.1893333
## 17               1600 270                   0.1687500
## 18               1700 275                   0.1617647
## 19               1800 326                   0.1811111
## 20               1900 316                   0.1663158
## 21               2000 350                   0.1750000
## 22               2100 327                   0.1557143
## 23               2200 334                   0.1518182
## 24               2300 401                   0.1743478
## 25               2400 408                   0.1700000
## 26               2500 448                   0.1792000
## 27               2600 449                   0.1726923
## 28               2700 425                   0.1574074
## 29               2800 466                   0.1664286
## 30               2900 515                   0.1775862
## 31               3000 495                   0.1650000
## 32               3100 551                   0.1777419
## 33               3200 539                   0.1684375
## 34               3300 552                   0.1672727
## 35               3400 604                   0.1776471
## 36               3500 562                   0.1605714
## 37               3600 573                   0.1591667
## 38               3700 626                   0.1691892
## 39               3800 660                   0.1736842
## 40               3900 630                   0.1615385
## 41               4000 652                   0.1630000
## 42               4100 698                   0.1702439
## 43               4200 670                   0.1595238
## 44               4300 730                   0.1697674
## 45               4400 698                   0.1586364
## 46               4500 733                   0.1628889
## 47               4600 771                   0.1676087
## 48               4700 752                   0.1600000
## 49               4800 810                   0.1687500
## 50               4900 832                   0.1697959
## 51               5000 850                   0.1700000
plot(n.lz,PA,ylim = c(0.13,0.21), # se crea un grafico donde se relaciona la frecuencia relativa en funcion del numero de lanzamientos
     main ="Frecuencia de que dos dados sumen \n 7 según el numero de lanzamientos", #Se estavblece el titulo del grafico
     pch=5, cex=0.5, col="Blue", # se seleciona el tipo, tamaño y color de los puntos
     xlab = "Número de lanzamientos",ylab = "Freq relativa de que la suma sea 7") #Se establecen los nombres de los ejes y los limites del eje y
abline(h=c(1/6,5/36,7/36), col=c("darkorange", "lightblue","lightblue")) #se utiliza la funcion abline para trazar las lineas que muestran la probabilidad de que la suma de dos dados sea igual a 7 y un rango de 1/36
grid(12) # se define una grilla en la grafica

########## Aleatorización fichas de scrabble de 2 a 4 jugadores ###########
Fichas <- function(Jugadores=2){  #Se define la función y la variable, dejandola con el valor por defecto igual a 2 
  A <- rep("A",12); E <- rep("E",12); O <- rep("O",9)   #Se genera el número de repeticiones por letra
  I <- rep("I",6); S <- rep("S",6); N <- rep("N",5)
  L <- rep("L",4); R <- rep("R",5); U <- rep("U",5)
  T <- rep("T",4); D <- rep("D",5); G <- rep("G",2)
  C <- rep("C",4); B <- rep("B",2); M <- rep("M",2)
  P <- rep("P",2); H <- rep("H",2); F <- c("F")
  V <- c("V"); Y <- c("Y"); CH <- c("CH"); Q <- c("Q")
  J <- c("J"); LL <- c("LL"); Ñ <- c("Ñ"); RR <- c("RR")
  X <- c("X"); Z <- c("Z"); bl <- c("Comodin","Comodin") #Se generan dos comodines 
  Bolsa <- c(A, E, O, I, S, N, L, R, U, T, D, G, C, B, M , P, H, F, V, Y, #Se juntan todas las letras dentro de un vector "bolsa"
             CH, Q, J, LL, Ñ, RR, X, Z,bl)
  if(Jugadores==2){   #Se establece una condición donde se define el número de jugadores cuando es igual a 2
    N1 = sample(1:100,7)  #Se realiza la extracción de una muestra aleatoria de 7 números del 1 al 100 (Número total de fichas)
    J1 = Bolsa[N1]  #Se extraen las letras correspondientes a las posiciones de las muestra aleatoria anteriormente seleccionadas
    Bolsa2 = Bolsa[-N1]   #Se eliminan las letras de las posiciones ya seleccionadas  correspondientess al jugador 1
    N2 = sample(1:length(Bolsa2),7)   #Se realiza la extracción de una muestra aleatoria de 7 números del 1 al 93 (Número resultante de fichas luego de la primera extracción)
    J2 = Bolsa2[N2]   #Se extraen las letras de las posiciones de las muestra aleatoria anteriormente seleccionadas
    BolsaFinal <<- Bolsa2[-N2]  #Se almacenan en una variable global las letras sobrantes luego de la estracción del segundo Jugador.
    return(list("Jugador 1" = J1,"Jugador 2" =  J2))  #Se define la salida de la función donde se muestran las fichas correspondientess a cada jugador.
  } else{   #Si no se cumple con la condición anterior se define la siguiente condición 
    if(Jugadores==3){   #Se establece la siguiente condición donde se define el número de jugadores cuando es igual a 3
      N1 = sample(1:100,7)  #Se realiza la extracción de una muestra aleatoria de 7 números del 1 al 100 (Número total de fichas)
      J1 = Bolsa[N1]  #Se extraen las letras correspondientes a las posiciones de las muestra aleatoria anteriormente seleccionadas
      Bolsa2 = Bolsa[-N1]   #Se eliminan las letras correspondientess a las posiciones ya seleccionadas  correspondientess al jugador 1
      N2 = sample(1:length(Bolsa2),7)   #Se realiza la extracción de una muestra aleatoria de 7 números del 1 al 93 (Número resultante de fichas luego de la primera extracción)
      J2 = Bolsa2[N2]   #Se extraen las letras de las posiciones de las muestra aleatoria anteriormente seleccionadas
      Bolsa3 = Bolsa2[-N2]   #Se eliminan las letras correspondientess a las posiciones ya seleccionadas  correspondiente al jugador 2
      N3 = sample(1:length(Bolsa3),7)   #Se realiza la extracción de una muestra aleatoria de 7 números del 1 al 86 (Número resultante de fichas luego de la segunda extracción)
      J3 = Bolsa3[N3]   #Se extraen las letras de las posiciones de las muestra aleatoria anteriormente seleccionadas
      BolsaFinal <<- Bolsa3[-N3]  #Se almacenan en una variable global las letras sobrantes luego de la estracción del tercer Jugador.
      return(list("Jugador 1" = J1,"Jugador 2" =  J2,"Jugador 3" = J3))  #Se define la salida de la función donde se muestran las fichas correspondientes a cada jugador.
    } else{    #Si no se cumple con la condición anterior se define la siguiente condición 
      if (Jugadores==4){   #Se establece la siguiente condición donde se define el número de jugadores cuando es igual a 4
        N1 = sample(1:100,7)  #Se realiza la extracción de una muestra aleatoria de 7 números del 1 al 100 (Número total de fichas)
        J1 = Bolsa[N1]  #Se extraen las letras correspondientes a las posiciones de las muestra aleatoria anteriormente seleccionadas
        Bolsa2 = Bolsa[-N1]   #Se eliminan las letras de las posiciones ya seleccionadas  correspondientes al jugador 1
        N2 = sample(1:length(Bolsa2),7)   #Se realiza la extracción de una muestra aleatoria de 7 números del 1 al 93 (Número resultante de fichas luego de la primera extracción)
        J2 = Bolsa2[N2]   #Se extraen las letras correspondientes a las posiciones de las muestra aleatoria anteriormente seleccionadas
        Bolsa3 = Bolsa2[-N2]   #Se eliminan las letras de las posiciones ya seleccionadas  correspondiente al jugador 2
        N3 = sample(1:length(Bolsa3),7)   #Se realiza la extracción de una muestra aleatoria de 7 números del 1 al 86 (Número resultante de fichas luego de la segunda extracción)
        J3 = Bolsa3[N3]   #Se extraen las letras de las posiciones de las muestra aleatoria anteriormente seleccionadas
        Bolsa4 = Bolsa3[-N3]   #Se eliminan las letras de las posiciones ya seleccionadas  correspondiente al jugador 3
        N4 = sample(1:length(Bolsa4),7)   #Se realiza la extracción de una muestra aleatoria de 7 números del 1 al 79 (Número resultante de fichas luego de la tercera extracción)
        J4 = Bolsa4[N4]   #Se extraen las letras de las posiciones de las muestra aleatoria anteriormente seleccionadas
        BolsaFinal <<- Bolsa4[-N4]  #Se almacenan en una variable global las letras sobrantes luego de la estracción del cuarto Jugador.
        return(list("Jugador 1" = J1,"Jugador 2" =  J2,"Jugador 3" = J3,"Jugador 4" = J4))  #Se define la salida de la función donde se muestran las fichas correspondientes a cada jugador.
      } else{
        return("número invalido de jugadores")    #Si no se cumple con ninguna de las condiciones anteriores se define una salida que diga que no es posible realizar la repartición de las fichas. 
      }
    }
  }
}

Fichas(1)
## [1] "número invalido de jugadores"
Fichas(2)
## $`Jugador 1`
## [1] "N" "I" "M" "A" "S" "E" "N"
## 
## $`Jugador 2`
## [1] "F" "A" "Y" "E" "O" "E" "R"
Fichas(3)
## $`Jugador 1`
## [1] "C" "F" "E" "I" "R" "U" "L"
## 
## $`Jugador 2`
## [1] "O" "A" "U" "E" "T" "U" "D"
## 
## $`Jugador 3`
## [1] "S" "E" "A" "E" "R" "O" "L"
Fichas(4)
## $`Jugador 1`
## [1] "D" "A" "N" "S" "U" "Q" "U"
## 
## $`Jugador 2`
## [1] "N"       "D"       "T"       "C"       "A"       "Comodin" "O"      
## 
## $`Jugador 3`
## [1] "D"  "E"  "O"  "B"  "I"  "CH" "S" 
## 
## $`Jugador 4`
## [1] "I" "A" "S" "L" "C" "C" "A"
Fichas(5)
## [1] "número invalido de jugadores"
###### cálculo del volumen de una esfera por aproximación motecarlo #######
library( rgl ) #Se realiza la llamada de libreria que permite la graficación en tercera dimensión con la función plot3d() y play3d()
library(scatterplot3d) #Se llama la libreria que se encarga de de la función scatterplot3d
n <- 200000   #Se define el número de veces que se realiza la aleatorizacion de los puntos 
x <- runif(n)   #se almacenan datos de forma aleatoria en x
y <- runif(n)   #se almacenan datos de forma aleatoria en y
z <- runif(n)   #se almacenan datos de forma aleatoria en z
D <- (x**2+y**2+z**2<1)  #se almacenan los puntos que cumplan la condición en función de la ecuación de la esfera 
X <- x[D==T];Y <- y[D==T];Z <- z[D==T] #Se seleccionan los datos que cumplen la condicion D
##Nota: estas funciones ejecuta un grafico 3D que permite interactuar con él (ejecutar en R).
plot3d(X,Y,Z, col = "green", type = "s", radius = .008)  #Se grafican en un plot 3D los puntos aleatorios con una condicion que cumple con la condicion en D y el tamaño de los puntos, en este caso se esta graficando un octavo de esfera 
play3d( spin3d(), duration = 10 ) #Esta función permite que que el grafico anterior gire.
##Nota: esta función ejecuta un grafico 3D
#las siguientes graficas permiten ver los puntos que cumplen la condición D, desde distintos puntos de vista
scatterplot3d(X,Y,Z,color = "darkgreen", pch = 20,grid = T,main = "Octavo de esfera No.1",cex.symbols = 0.5)

scatterplot3d(X,Y,Z,color = "darkgreen", pch = 20,grid = T,main = "Octavo de esfera No.2",cex.symbols = 0.5,angle = 10)

scatterplot3d(X,Y,Z,color = "darkgreen", pch = 20,grid = T,main = "Octavo de esfera No.3",cex.symbols = 0.5, angle = 120)

scatterplot3d(X,Y,Z,color = "darkgreen", pch = 20,grid = T,main = "Octavo de esfera No.4",cex.symbols = 0.5,angle = 300)
V.sec.esf <- sum(D);V.sec.esf #suma el número de puntos que cumplen con la condición dada en D
## [1] 104660
V.cuart.esf <- pi*4/3/8;V.cuart.esf #Se calcula el volumen de un octavo de esfera de radio 1
## [1] 0.5235988
V.cuart.esf <- V.sec.esf/n;V.cuart.esf   #Se calcula la fracción de puntos que estan dentro de la efera con repecto a un cubo de lado 1
## [1] 0.5233
###### cálculo del AUDPS para tres daños #######
library(lattice)  #Se llama la libreria necesaria para realizar los graficos de dispersión con xyplot

dia <- seq(0,120, by = 15) # Se generan los dias correspondientes a la toma de muestra del daño causado en los cultivos
Dias <- rep(dia, each = 3) # Se generan la secuencia de dias para ser asignados a las repeticiones de la toma de las muestras
area.afectada1 <- sort(runif(length(Dias),0,.95)) #se generan los datos de los daños del cultivo 1 aleatoriamente con el numero de onservaciones tomadas especificando el minimo y su maximo, Los cuales son organizados con la función sort de menor a mayor 
area.afectada2 <- sort(runif(length(Dias),0,.90)) #se generan los datos de los daños del cultivo 2 aleatoriamente con el numero de onservaciones tomadas especificando el minimo y su maximo, Los cuales son organizados con la función sort de menor a mayor 
area.afectada3 <- sort(runif(length(Dias),0,.65)) #se generan los datos de los daños del cultivo 3 aleatoriamente con el numero de onservaciones tomadas especificando el minimo y su maximo, Los cuales son organizados con la función sort de menor a mayor 
Cult <- c(rep("Cultivo 1",length(area.afectada1)),rep("Cultivo 2",length(area.afectada2)),rep("Cultivo 3",length(area.afectada3))) #Se generan las marcas correspondientes a los cultivos medidos, para especificar el origen de los datos tomados
Daño <- c(area.afectada1,area.afectada2,area.afectada3) # se almacenan los datos de daños anteriormente generados en un vector
dft <- data.frame(Dias,Daño,Cult) ; dft #se crea y almacena un data frame donde se organizan los datos 
##    Dias        Daño      Cult
## 1     0 0.012079481 Cultivo 1
## 2     0 0.057293701 Cultivo 1
## 3     0 0.086887723 Cultivo 1
## 4    15 0.155663438 Cultivo 1
## 5    15 0.176094240 Cultivo 1
## 6    15 0.183315233 Cultivo 1
## 7    30 0.201104153 Cultivo 1
## 8    30 0.256626279 Cultivo 1
## 9    30 0.277459476 Cultivo 1
## 10   45 0.278101449 Cultivo 1
## 11   45 0.304800776 Cultivo 1
## 12   45 0.323782655 Cultivo 1
## 13   60 0.361608161 Cultivo 1
## 14   60 0.391584204 Cultivo 1
## 15   60 0.561431489 Cultivo 1
## 16   75 0.602540474 Cultivo 1
## 17   75 0.616521082 Cultivo 1
## 18   75 0.722557612 Cultivo 1
## 19   90 0.770763447 Cultivo 1
## 20   90 0.781962154 Cultivo 1
## 21   90 0.788553112 Cultivo 1
## 22  105 0.821095635 Cultivo 1
## 23  105 0.846116746 Cultivo 1
## 24  105 0.856888414 Cultivo 1
## 25  120 0.859192028 Cultivo 1
## 26  120 0.870512276 Cultivo 1
## 27  120 0.878249814 Cultivo 1
## 28    0 0.026171911 Cultivo 2
## 29    0 0.066008047 Cultivo 2
## 30    0 0.093785777 Cultivo 2
## 31   15 0.160543359 Cultivo 2
## 32   15 0.183095845 Cultivo 2
## 33   15 0.226700998 Cultivo 2
## 34   30 0.243158821 Cultivo 2
## 35   30 0.246897490 Cultivo 2
## 36   30 0.271758184 Cultivo 2
## 37   45 0.273170264 Cultivo 2
## 38   45 0.313559169 Cultivo 2
## 39   45 0.378720946 Cultivo 2
## 40   60 0.421760067 Cultivo 2
## 41   60 0.434269265 Cultivo 2
## 42   60 0.454753312 Cultivo 2
## 43   75 0.575031590 Cultivo 2
## 44   75 0.588697894 Cultivo 2
## 45   75 0.725237133 Cultivo 2
## 46   90 0.734667657 Cultivo 2
## 47   90 0.740073388 Cultivo 2
## 48   90 0.748957724 Cultivo 2
## 49  105 0.758340387 Cultivo 2
## 50  105 0.776699004 Cultivo 2
## 51  105 0.790708332 Cultivo 2
## 52  120 0.800747016 Cultivo 2
## 53  120 0.849995398 Cultivo 2
## 54  120 0.860001798 Cultivo 2
## 55    0 0.001444042 Cultivo 3
## 56    0 0.021552671 Cultivo 3
## 57    0 0.023312789 Cultivo 3
## 58   15 0.074508856 Cultivo 3
## 59   15 0.080113572 Cultivo 3
## 60   15 0.090793431 Cultivo 3
## 61   30 0.119568731 Cultivo 3
## 62   30 0.130556245 Cultivo 3
## 63   30 0.209934738 Cultivo 3
## 64   45 0.213853611 Cultivo 3
## 65   45 0.228220277 Cultivo 3
## 66   45 0.260268814 Cultivo 3
## 67   60 0.262061754 Cultivo 3
## 68   60 0.300823157 Cultivo 3
## 69   60 0.344663234 Cultivo 3
## 70   75 0.372420164 Cultivo 3
## 71   75 0.414076620 Cultivo 3
## 72   75 0.424522766 Cultivo 3
## 73   90 0.445448497 Cultivo 3
## 74   90 0.476802154 Cultivo 3
## 75   90 0.539319589 Cultivo 3
## 76  105 0.612116629 Cultivo 3
## 77  105 0.615675676 Cultivo 3
## 78  105 0.625034304 Cultivo 3
## 79  120 0.632487216 Cultivo 3
## 80  120 0.633235669 Cultivo 3
## 81  120 0.637034319 Cultivo 3
media1 <- tapply(area.afectada1,Dias,mean) #Se cacula la media de las 3 mediciones de daño tomadas en el cultivo 1 en un dia determinado
media2 <- tapply(area.afectada2,Dias,mean) #Se cacula la media de las 3 mediciones de daño tomadas en el cultivo 2 en un dia determinado
media3 <- tapply(area.afectada3,Dias,mean) #Se cacula la media de las 3 mediciones de daño tomadas en el cultivo 3 en un dia determinado
AUDPS1 <- { #Se realiza el cálculo del AUDPS absoluto del cultivo 1 por medio de la suma de las areas de trapecios bajo la curva 
  BM1 <- media1[2:length(media1)];Bm1 <- media1[1:length(media1)-1] # se definen y almacenan los datos correspondientes a las bases de los trapecios
  A <- (Bm1+BM1)*15/2 #Se cacula el area correspondiente a cada intervalo de tiempo en los que se ralizó la toma de muestra 
  At <- round(sum(A),2) #Se realiza la suma de las areas bajo la curva calculada anteriormente 
}
AUDPS2 <- { #Se realiza el cálculo del AUDPS absoluto del cultivo 1 por medio de la suma de las areas de trapecios bajo la curva
  BM2 <- media2[2:length(media2)];Bm2<- media2[1:length(media2)-1] # se definen y almacenan los datos correspondientes a las bases de los trapecios
  A <- (Bm2+BM2)*15/2 #Se cacula el area correspondiente a cada intervalo de tiempo en los que se ralizó la toma de muestra 
  At <- round(sum(A),3) #Se realiza la suma de las areas bajo la curva calculada anteriormente  
}
AUDPS3 <- { #Se realiza el cálculo del AUDPS absoluto del cultivo 1 por medio de la suma de las areas de trapecios bajo la curva
  BM3 <- media3[2:length(media3)];Bm3<- media3[1:length(media3)-1] # se definen y almacenan los datos correspondientes a las bases de los trapecios
  A <- (Bm3+BM3)*15/2 #Se cacula el area correspondiente a cada intervalo de tiempo en los que se ralizó la toma de muestra 
  At <- round(sum(A),3) #Se realiza la suma de las areas bajo la curva calculada anteriormente 
}
AUDPS1;AUDPS2;AUDPS3 #Se visualiza en la consola los resultados de los AUDPS absolutos calculados anteriormente
## [1] 58.3
## [1] 56.976
## [1] 39.077
AUDPSR1 <- round(AUDPS1/120,2);AUDPSR2 <- round(AUDPS2/120,2);AUDPSR3 <- round(AUDPS3/120,2) #Se obtienen y almacenan los AUDPS relativos al calcular la proporcion del area bajo la curva con respeto al area total (120) 
##Se realiza un grafico donde se muestran los daños de los tres cultivos dentro de un mismo plano cartesiano
xyplot(Daño~Dias,dft,grid=T,group=Cult, col=c("Red","Blue","darkgreen"), #se realiza el gráfico usando la función xyplot definiendo que los datos de daños deben ser graficados en funcion del dia de la toma de muestras y que estos datos se encuentran en dft, tambien se define que estos datos sean agrupado segun el cultivo, el color que le corresponde a cada uno.
       type=c("p","smooth"), main="Daño cuasado por una enfermedad en \n 3 cultivos distintos", #Se define la forma en la que los datos deben ser graficados, en este caso se grafican los puntos y la linea que une las medias de los datos según el dia y el cultivo. Se estavlece el titulo del grafico. Nota: el comando \n permite escribir un texto en otra linea
       key=list(space="right", lines=list(col=c("red","blue","darkgreen")),text=list(c("Cultivo 1","Cultivo 2","Cultivo 3")),cex=0.8), #Se establece la posicion de la leyenda y se definen las convenciones del gráfico
       xlab= list("Tiempo (dias)",cex=0.85), xlim=c(-5,125), # Se establece el nombre y tamaño del del eje x
       ylab= list("Daño",cex=0.85),ylim=c(-0.05,1.05),# Se establece el nombre y tamaño del del eje y
       sub=list(paste("ADUPS Cultivo 1: Absoluto= ",AUDPS1,"   Relativo= ",AUDPSR1,  #se genera un texto donde se muestre cuales son los valores de los AUDPS absoluto y relativo de cada cultivo. En este caso se unen los textos por medio de la función paste 
                      "\nAUDPS Cultivo 2: Absoluto= ",AUDPS2,"   Relativo= ",AUDPSR2,
                      "\nAUDPS Cultivo 3: Absoluto= ", AUDPS3,"   Relativo= ",AUDPSR3,sep=""),cex=0.8))

##Se realiza un grafico donde se muestran los daños de los tres cultivos en distintos planos cartesianos
xyplot(Daño~Dias|Cult, dft, grid=T,group=Cult,col=c("Red","Blue","darkgreen"),#se realiza el gráfico usando la función xyplot definiendo que los datos de daños deben ser graficados en funcion del dia de la toma de muestras y que estos datos se encuentran en dft, tambien se define que estos datos sean agrupado segun el cultivo y el color que le corresponde a cada uno.
       type=c("p","smooth"), main="Daño cuasado por una enfermedad en \n 3 cultivos distintos",#Se define la forma en la que los datos deben ser graficados, en este caso se grafican los puntos y la linea que une las medias de los datos según el dia y el cultivo. Se estavlece el titulo del grafico. Nota: el comando \n permite escribir un texto en otra linea
       xlab= list("Tiempo (dias)",cex=0.85), xlim=c(-5,125),# Se establece el nombre y tamaño del del eje x
       ylab= list("Daño",cex=0.85),ylim=c(-0.05,1.05),# Se establece el nombre y tamaño del del eje y
       sub=list(paste("ADUPS Cultivo 1: Absoluto= ",AUDPS1,"   Relativo= ",AUDPSR1,  #se genera un texto donde se muestre cuales son los valores de los AUDPS absoluto y relativo de cada cultivo. En este caso se unen los textos por medio de la función paste 
                      "\nAUDPS Cultivo 2: Absoluto= ",AUDPS2,"   Relativo= ",AUDPSR2,
                      "\nAUDPS Cultivo 3: Absoluto= ", AUDPS3,"   Relativo= ",AUDPSR3,sep=""),cex=0.8))