Limpiar memoria

g <- gc(reset = T)
rm(list = ls())
options(scipen = 999, warn = -1)

Cargar librerias

require(pacman)
  Cargando paquete requerido: pacman
pacman::p_load(RcppRoll, tidyverse, reshape2, ggplot2, grid, gridExtra)

Se crean los objetos A, B, k, NSN y UE

A <- 0.10 # Error Tipo I
B <- 0.10 # Error Tipo II
k <- 1.32 # Parámetro k de la binomial negativa
NSN <- 2 # Nivel de Seguridad Natural
UE <- 5 # Umbral Económico

Cálculo de P1 y P2

P1<-(NSN/k); P1
  [1] 1.515152
P2<-(UE/k); P2
  [1] 3.787879

Cálculo de la constante T

Tn <- log(P2*(1+P1)/(P1*(1+P2))); Tn
  [1] 0.2725363

Cálculo de BoA (Intersección ejes de la Y de la línea de desición Inferior)

BoA <- log(B/(1-A))/Tn
BoA
  [1] -8.062135

Cálculo de BoB (Intersección ejes de las Y de la línea de decisión Superior)

BoB <- log((1-B)/A)/Tn
BoB
  [1] 8.062135

Cálculo de la pendiente B1

B1 <- k*(log((1+P2)/(1+P1)))/Tn
B1
  [1] 3.117955

Graficar líneas de decisión

X <- 1:15
YI <- BoA+B1*X
YS <- BoB+B1*X

Crear data frame con X, YI e YS

df1 <- data.frame(X, YI, YS)
df1

Preparar data frame “df” para poder graficarlo

data_final <- melt(df1, id.vars = "X")

DATOS DEL HUERTO NÚMERO 1

Ingresar valores del muestreo

Se crea objeto que contiene el número de árboles

Num_arbol <- c(1,2,3,4,5,6)

Se crea objeto que contiene el número de áfidos por árbol

Num_afid_arbol <- c(7, 2, 3, 4, 6, 8)

Se crea objeto con el número acumulado de áfidos

Num_Acum_Afid <- cumsum(Num_afid_arbol)

Se crea data frame “df2” con las variables Número de árbol y Número Acumulado de Áfidos

df2 <- data.frame(Num_arbol, Num_Acum_Afid)

Se unen en un gráfico, las líneas de decisión y el número acumulado de áfidos

plot1<-ggplot(data_final,aes(X))+
  stat_function(fun = function(X){BoA+B1*X},col="red") +
  stat_function(fun = function(X){BoB+B1*X},col="blue") +
  geom_point(data=df2,aes(Num_arbol,Num_Acum_Afid), size=4) +
  geom_line(data=df2,aes(Num_arbol,Num_Acum_Afid), size=1) +
  geom_point(data=df2,aes(Num_arbol,Num_Acum_Afid), size=4) +
  scale_x_continuous("Número Acumulado \ de Arboles") + 
  scale_y_continuous("Número Acumulado \ de Afidos") +
  ggtitle("Huerto 1") 
plot1

DATOS DEL HUERTO NÚMERO 2

Ingresar valores del muestreo

Se crea objeto que contiene el número de árboles

Num_arbol2 <- c(1, 2, 3, 4, 5, 6, 7)

Se crea objeto que contiene el número de áfidos por árbol

Num_afid_arbol2 <- c(3, 2, 0, 0, 4, 2, 0)

Se crea objeto con el número acumulado de áfidos

Num_Acum_Afid2 <- cumsum(Num_afid_arbol2)

Se crea data frame “df3” con las variables Número de árbol y Número Acumulado de Áfidos

df3 <- data.frame(Num_arbol2, Num_Acum_Afid2)

Solución Gráfica del Muestreo Secuencial

plot2<-ggplot(data_final,aes(X))+
  stat_function(fun = function(X){BoA+B1*X},col="red") +
  stat_function(fun = function(X){BoB+B1*X},col="blue") +
  geom_point(data=df3,aes(Num_arbol2,Num_Acum_Afid2), size=4) +
  geom_line(data=df3,aes(Num_arbol2,Num_Acum_Afid2), size=1) +
  geom_point(data=df3,aes(Num_arbol2,Num_Acum_Afid2), size=4) +
  scale_x_continuous("Número Acumulado \ de Arboles") + 
  scale_y_continuous("Número Acumulado \ de Afidos") +
  ggtitle("Huerto 2") 
plot2

Se muestra los resultados de los dos huertos

grid.arrange(plot1, plot2, ncol = 2)