Usando la funciónn set.seed(20 ) y colocando sus dos últimos números de cédula en los espacios con guiones al piso,se realizan las siguientes actividades:
library(tidyverse)
#crear semilla para fijar los valores aleatorios de las distribuciones.
set.seed(2071)
normal=round(rnorm(120,5,0.85),2) #Genera 120 datos con Distribución normal.
binomial=rbinom(120,prob = 0.8,20) #Genera 120 datos con Distribucion Binomial.
poisson=rpois(120,10.5) #Genera 120 datos con Distribucion Poisson.
#Genera una muestra con reemplazo de tamaño 120 de una secuencia de 300 números
muestra=sample.int(size = 120,replace = TRUE,n = 300)
library("purrr") #llamar la libreria "purrr".
bernoulli=rbernoulli(120,0.75) #Genera 120 datos con Distribucion Bernoulli.
bernoulli[bernoulli == 'TRUE'] <- 'presente' #Cambia los "TRUE" por "presente".
bernoulli[bernoulli == 'FALSE'] <- 'ausente' #cambia los "FALSE" por "ausente".
#Genera tres nivelesde un factor con 40 datos cada factor.
niveles=gl(n=3,k=40,labels = c("S","PA","MA"))
uniforme=ifelse(runif(120,0,1.2)<0.5,"FO","FI" ) #Genera 120 datos con Distribución Uniforme.
Con los datos generados en la actividad 1 se desarrolla la siguiente actividad:
se crea un dataframe con los valores creados de la actividad anterior.
tib.c=data.frame(Biomasa=normal,Flores.r=binomial,Flores.d=poisson,Hojas.d=muestra,
Plaga=bernoulli,Estatus=niveles,Fertilizacion=uniforme)
head(tib.c)
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion
## 1 5.35 18 10 188 presente S FO
## 2 5.10 17 14 216 presente S FO
## 3 4.02 16 6 127 presente S FO
## 4 5.94 17 11 295 presente S FI
## 5 6.01 17 18 102 presente S FI
## 6 5.76 16 9 280 presente S FI
dim(tib.c) #Dimensión de la tabla completa.
## [1] 120 7
str(tib.c) #Tipo de datos de las variables.
## 'data.frame': 120 obs. of 7 variables:
## $ Biomasa : num 5.35 5.1 4.02 5.94 6.01 5.76 6.27 4.5 6 5.27 ...
## $ Flores.r : int 18 17 16 17 17 16 13 16 16 14 ...
## $ Flores.d : int 10 14 6 11 18 9 11 9 9 8 ...
## $ Hojas.d : int 188 216 127 295 102 280 31 200 159 134 ...
## $ Plaga : chr "presente" "presente" "presente" "presente" ...
## $ Estatus : Factor w/ 3 levels "S","PA","MA": 1 1 1 1 1 1 1 1 1 1 ...
## $ Fertilizacion: chr "FO" "FO" "FO" "FI" ...
class(tib.c) #Clase de objeto .
## [1] "data.frame"
names(tib.c) #Nombre de las variables.
## [1] "Biomasa" "Flores.r" "Flores.d" "Hojas.d"
## [5] "Plaga" "Estatus" "Fertilizacion"
sum(is.na(tib.c)) #Contar el número de valores NA.
## [1] 0
90 datos son los que representan el 75% del dataframe completo tib.c.
tib.i=sample_n(tib.c,size = 90)
tib.i[26,3]=NA #Reemplazar en la fila 26 columna 3 por NA.
tib.i[82,1]=NA #Reemplazar en la fila 82 columna 1 por NA.
tib.i
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion
## 1 4.79 16 8 12 ausente MA FO
## 2 4.50 16 9 200 presente S FI
## 3 3.78 18 8 79 presente MA FI
## 4 5.78 18 15 8 presente MA FI
## 5 4.19 17 14 200 presente PA FI
## 6 5.28 17 8 135 presente S FO
## 7 3.98 14 13 1 presente MA FI
## 8 4.75 17 15 84 presente PA FO
## 9 4.92 17 9 115 presente PA FO
## 10 5.10 17 14 216 presente S FO
## 11 4.92 14 14 44 ausente S FO
## 12 5.14 16 7 132 presente S FO
## 13 4.99 16 9 195 presente S FO
## 14 4.86 11 7 215 ausente S FI
## 15 5.10 14 12 52 presente PA FI
## 16 5.90 14 8 289 presente MA FI
## 17 5.35 18 10 188 presente S FO
## 18 5.26 11 11 15 presente MA FI
## 19 4.68 15 9 124 presente MA FI
## 20 6.15 18 10 110 ausente MA FO
## 21 4.56 14 9 297 presente MA FI
## 22 6.24 17 14 61 presente PA FO
## 23 6.20 18 10 69 presente PA FO
## 24 3.83 16 13 219 presente PA FI
## 25 6.06 14 14 38 ausente MA FO
## 26 6.22 19 NA 238 ausente MA FO
## 27 5.42 16 11 207 presente PA FO
## 28 5.52 15 7 237 presente PA FI
## 29 5.20 14 6 29 presente S FI
## 30 5.09 19 10 5 presente MA FI
## 31 6.11 16 12 7 ausente PA FI
## 32 5.48 15 10 254 presente S FI
## 33 6.27 13 11 31 presente S FO
## 34 4.91 13 8 218 presente MA FI
## 35 5.72 15 10 146 presente MA FO
## 36 6.08 16 13 195 presente PA FI
## 37 4.62 16 6 74 presente S FI
## 38 6.04 18 5 70 presente MA FO
## 39 5.27 14 8 134 presente S FO
## 40 6.55 14 11 80 ausente S FO
## 41 4.11 19 10 267 presente MA FI
## 42 5.43 18 14 81 presente PA FI
## 43 5.06 17 8 46 presente PA FI
## 44 4.74 15 15 10 presente PA FO
## 45 3.91 11 12 116 presente MA FO
## 46 4.02 16 6 127 presente S FO
## 47 5.78 14 14 158 presente PA FI
## 48 5.75 13 9 242 presente PA FO
## 49 6.40 17 14 218 ausente MA FO
## 50 6.97 17 11 143 presente PA FO
## 51 3.33 15 8 59 presente S FO
## 52 5.94 17 11 295 presente S FI
## 53 4.63 14 11 75 presente MA FI
## 54 5.86 18 5 51 presente MA FI
## 55 5.23 18 8 284 presente PA FI
## 56 5.31 10 11 97 ausente S FO
## 57 4.25 13 9 99 presente PA FO
## 58 6.55 17 9 187 presente MA FO
## 59 6.07 16 14 139 presente PA FI
## 60 6.00 18 16 193 presente S FO
## 61 5.91 14 12 241 presente S FO
## 62 5.46 18 14 11 presente PA FI
## 63 4.94 17 14 206 presente MA FI
## 64 5.72 18 11 198 presente S FO
## 65 6.69 17 10 253 presente MA FO
## 66 4.15 18 8 71 presente MA FO
## 67 6.01 17 18 102 presente S FI
## 68 6.39 16 13 202 presente MA FO
## 69 5.34 17 7 25 presente S FO
## 70 5.76 16 9 280 presente S FI
## 71 5.57 16 11 141 presente S FI
## 72 5.14 14 16 162 presente PA FO
## 73 5.75 18 9 69 presente MA FO
## 74 4.71 17 8 237 ausente MA FI
## 75 5.44 16 17 43 presente MA FI
## 76 4.85 16 8 230 presente MA FI
## 77 5.65 16 13 263 ausente MA FI
## 78 3.04 19 17 189 ausente PA FI
## 79 4.89 14 15 50 presente PA FI
## 80 5.02 16 15 231 presente MA FI
## 81 4.88 11 9 67 presente S FO
## 82 NA 18 10 264 presente S FO
## 83 4.71 15 12 67 presente PA FI
## 84 3.33 17 13 24 presente PA FI
## 85 5.05 16 9 175 presente S FI
## 86 4.90 19 7 160 ausente S FO
## 87 4.82 19 7 177 presente PA FI
## 88 6.38 19 10 59 presente MA FI
## 89 3.80 16 9 235 presente S FI
## 90 4.15 18 8 197 presente PA FI
Al tener los dos conjuntos de datos nombrados como tib.c y tib.i se pueden usar las funciones dplyr ya aprendidas en el curso.
Seleccionar una variable cualquiera, para este caso se toma Flores.r.
head(select(tib.c,Flores.r))
## Flores.r
## 1 18
## 2 17
## 3 16
## 4 17
## 5 17
## 6 16
Seleccionar de la tercera a sexta variable.
head(select(tib.c,3:6))
## Flores.d Hojas.d Plaga Estatus
## 1 10 188 presente S
## 2 14 216 presente S
## 3 6 127 presente S
## 4 11 295 presente S
## 5 18 102 presente S
## 6 9 280 presente S
No seleccionar la 4 y 5 variable.
head(select(tib.c,!(4:5)) )
## Biomasa Flores.r Flores.d Estatus Fertilizacion
## 1 5.35 18 10 S FO
## 2 5.10 17 14 S FO
## 3 4.02 16 6 S FO
## 4 5.94 17 11 S FI
## 5 6.01 17 18 S FI
## 6 5.76 16 9 S FI
Seleccionar las variables que no finalizan en .d.
head(select(tib.c,!ends_with(".d")))
## Biomasa Flores.r Plaga Estatus Fertilizacion
## 1 5.35 18 presente S FO
## 2 5.10 17 presente S FO
## 3 4.02 16 presente S FO
## 4 5.94 17 presente S FI
## 5 6.01 17 presente S FI
## 6 5.76 16 presente S FI
Seleccionar las variables que empiezan con Fl.
head(select(tib.c,starts_with("Fl")))
## Flores.r Flores.d
## 1 18 10
## 2 17 14
## 3 16 6
## 4 17 11
## 5 17 18
## 6 16 9
Selecciona las variables que empiezan con F y terminan con .d.
head(select(tib.c,starts_with("F") & ends_with(".d")))
## Flores.d
## 1 10
## 2 14
## 3 6
## 4 11
## 5 18
## 6 9
Se selecciona una variable cualquiera (en este caso Flores.d) y se agrupa por estatus.
head(tib.c %>% select(Flores.d,Estatus) %>% group_by(Estatus))
## # A tibble: 6 x 2
## # Groups: Estatus [1]
## Flores.d Estatus
## <int> <fct>
## 1 10 S
## 2 14 S
## 3 6 S
## 4 11 S
## 5 18 S
## 6 9 S
Guardar la variable anterior y nombrarla como var_estatus.
var_estatus=tib.c %>% select(Flores.d,Estatus) %>% group_by(Estatus)
Organizar de mayor a menor la variable FLores.d por cada estado.
var_estatus %>% arrange(desc(Flores.d),.by_group = TRUE)
## # A tibble: 120 x 2
## # Groups: Estatus [3]
## Flores.d Estatus
## <int> <fct>
## 1 20 S
## 2 18 S
## 3 16 S
## 4 14 S
## 5 14 S
## 6 12 S
## 7 12 S
## 8 12 S
## 9 11 S
## 10 11 S
## # ... with 110 more rows
Primero se filtran las flores muy afectadas para después tomar las variables que empiezan con Flores.
head(filter(tib.c, Estatus == "MA") %>% select(starts_with("Flores")))
## Flores.r Flores.d
## 1 14 9
## 2 17 8
## 3 17 9
## 4 16 15
## 5 14 13
## 6 15 9
Datos filtrados para una biomasa superior a 5 gramos.
head(filter(tib.c,Biomasa > 5))
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion
## 1 5.35 18 10 188 presente S FO
## 2 5.10 17 14 216 presente S FO
## 3 5.94 17 11 295 presente S FI
## 4 6.01 17 18 102 presente S FI
## 5 5.76 16 9 280 presente S FI
## 6 6.27 13 11 31 presente S FO
Solo se muestra la variable fertilización, de las plantas que fueron tratadas con fertilización orgánica y fueron parcialmente afectadas.
tib.c %>% filter( Estatus == "PA" & Fertilizacion == "FO") %>% select(Fertilizacion)
## Fertilizacion
## 1 FO
## 2 FO
## 3 FO
## 4 FO
## 5 FO
## 6 FO
## 7 FO
## 8 FO
## 9 FO
## 10 FO
## 11 FO
## 12 FO
## 13 FO
## 14 FO
Solo se muestra la variable fertilización, de las plantas que fueron tratadas con fertilización inorgánica o fueron parcialmente afectadas.
head(filter(tib.c, Estatus == "PA" | Fertilizacion == "FI") %>% select(Fertilizacion))
## Fertilizacion
## 1 FI
## 2 FI
## 3 FI
## 4 FI
## 5 FI
## 6 FI
Se filtra en este caso por presencia de plaga para cuando el número de flores desprendidas es mayor a su mediana.
mediana.Flores.d=median(tib.c[,3])
mediana.Flores.d
## [1] 10
head(filter(tib.c,Plaga =="presente" & Flores.d > median(tib.c[,3])) )
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion
## 1 5.10 17 14 216 presente S FO
## 2 5.94 17 11 295 presente S FI
## 3 6.01 17 18 102 presente S FI
## 4 6.27 13 11 31 presente S FO
## 5 5.91 14 12 241 presente S FO
## 6 6.00 18 16 193 presente S FO
Filtrado de variable con dato faltante en la tabla muestreada, en este caso la Biomasa, para cuando la plaga está presente y además la biomasa es mayor a su mediana.
Nota: la mediana sin el comando na.rm=TRUE daba un resultado NA.
media.Biomasa=median(tib.i[,1],na.rm = TRUE)
media.Biomasa
## [1] 5.23
head(filter(tib.i,Biomasa > median(tib.i[,1],na.rm = TRUE),Plaga =="presente" ))
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion
## 1 5.78 18 15 8 presente MA FI
## 2 5.28 17 8 135 presente S FO
## 3 5.90 14 8 289 presente MA FI
## 4 5.35 18 10 188 presente S FO
## 5 5.26 11 11 15 presente MA FI
## 6 6.24 17 14 61 presente PA FO
Para la tabla con datos incompletos hay 36 resultados mientras que para la tabla con datos completos hay 49 resultados.
head(filter(tib.c,Biomasa > median(tib.c[,1]),Plaga =="presente" ))
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion
## 1 5.35 18 10 188 presente S FO
## 2 5.10 17 14 216 presente S FO
## 3 5.94 17 11 295 presente S FI
## 4 6.01 17 18 102 presente S FI
## 5 5.76 16 9 280 presente S FI
## 6 6.27 13 11 31 presente S FO
Para seleccionar aquellos datos que superan respectivamente cada variable el valor de la condición para este caso la primera condición es el quantil 1 y la segunda el cuantil 3.
v1=c("Flores.r","Flores.d")
a=quantile(tib.c$Flores.r)[1] #valor del primer cuantil de Flores.r.
b=quantile(tib.c$Flores.d)[3] #valor del último cuantil de Flores.d.
v2=c(a,b)
res1= tib.c %>% filter(.data[[v1[[1]]]]>v2[[1]],.data[[v1[[2]]]]>v2[[2]])
head(res1)
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion
## 1 5.10 17 14 216 presente S FO
## 2 5.94 17 11 295 presente S FI
## 3 6.01 17 18 102 presente S FI
## 4 6.27 13 11 31 presente S FO
## 5 6.55 14 11 80 ausente S FO
## 6 4.92 14 14 44 ausente S FO
Estandarización de las variables continuas y discretas.
##estandarización de de la variable continua Biomasa.
Zscore=(tib.c$Biomasa-rep(mean(tib.c$Biomasa),120))/sd(tib.c$Biomasa)
#estandarización de de la variable discreta Flores.r.
Flores.r.minmax=(tib.c$Flores.r-rep(min(tib.c$Flores.r),120))/
(max(tib.c$Flores.r)-min(tib.c$Flores.r))
#estandarización de de la variable discreta Flores.d.
Flores.d.minmax=(tib.c$Flores.d-rep(min(tib.c$Flores.d),120))/
(max(tib.c$Flores.d)-min(tib.c$Flores.d))
#estandarización de de la variable discreta Hojas.d.
Hojas.d.minmax=(tib.c$Hojas.d-rep(min(tib.c$Hojas.d),120))/
(max(tib.c$Hojas.d)-min(tib.c$Hojas.d))
#se incluyen las nuevas variables estandarizadas.
tib.e=mutate(tib.c,Zscore,Flores.r.minmax,Flores.d.minmax,Hojas.d.minmax)
head(tib.e)
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion Zscore
## 1 5.35 18 10 188 presente S FO 0.26362145
## 2 5.10 17 14 216 presente S FO -0.02158026
## 3 4.02 16 6 127 presente S FO -1.25365166
## 4 5.94 17 11 295 presente S FI 0.93669749
## 5 6.01 17 18 102 presente S FI 1.01655397
## 6 5.76 16 9 280 presente S FI 0.73135225
## Flores.r.minmax Flores.d.minmax Hojas.d.minmax
## 1 0.8 0.3750 0.6296296
## 2 0.7 0.6250 0.7239057
## 3 0.6 0.1250 0.4242424
## 4 0.7 0.4375 0.9898990
## 5 0.7 0.8750 0.3400673
## 6 0.6 0.3125 0.9393939
Nueva variable donde se divide el número de flores en las ramas con el número de flores desprendidas.
prop.=round(tib.c$Flores.r/tib.c$Flores.d,2)
tib.c.p=mutate(tib.c,prop.) #tabla tib.c con la columna de proporción.
head(tib.c.p,4)
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion prop.
## 1 5.35 18 10 188 presente S FO 1.80
## 2 5.10 17 14 216 presente S FO 1.21
## 3 4.02 16 6 127 presente S FO 2.67
## 4 5.94 17 11 295 presente S FI 1.55
Se selecciona solo la variable del cociente previo agrupada por plaga. se crea una nueva que imprime el rango mínimo en cada grupo.
tib.c.p.agrup=tib.c.p %>% group_by(Plaga,prop.)
rangomin= min_rank(desc(tib.c.p.agrup$prop.))
head(mutate(tib.c.p,rangomin))
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion prop.
## 1 5.35 18 10 188 presente S FO 1.80
## 2 5.10 17 14 216 presente S FO 1.21
## 3 4.02 16 6 127 presente S FO 2.67
## 4 5.94 17 11 295 presente S FI 1.55
## 5 6.01 17 18 102 presente S FI 0.94
## 6 5.76 16 9 280 presente S FI 1.78
## rangomin
## 1 35
## 2 90
## 3 6
## 4 63
## 5 114
## 6 40
Cambiar el nombre de las variables asociadas a las flores.
head(rename(tib.e,en.rama=Flores.r,F.desprendida=Flores.d,H.desprendida=Hojas.d),4)
## Biomasa en.rama F.desprendida H.desprendida Plaga Estatus Fertilizacion
## 1 5.35 18 10 188 presente S FO
## 2 5.10 17 14 216 presente S FO
## 3 4.02 16 6 127 presente S FO
## 4 5.94 17 11 295 presente S FI
## Zscore Flores.r.minmax Flores.d.minmax Hojas.d.minmax
## 1 0.26362145 0.8 0.3750 0.6296296
## 2 -0.02158026 0.7 0.6250 0.7239057
## 3 -1.25365166 0.6 0.1250 0.4242424
## 4 0.93669749 0.7 0.4375 0.9898990
Pasar a mayúscula los nombres de las variables de tib.e.
head(rename_with(tib.e,toupper),4)
## BIOMASA FLORES.R FLORES.D HOJAS.D PLAGA ESTATUS FERTILIZACION ZSCORE
## 1 5.35 18 10 188 presente S FO 0.26362145
## 2 5.10 17 14 216 presente S FO -0.02158026
## 3 4.02 16 6 127 presente S FO -1.25365166
## 4 5.94 17 11 295 presente S FI 0.93669749
## FLORES.R.MINMAX FLORES.D.MINMAX HOJAS.D.MINMAX
## 1 0.8 0.3750 0.6296296
## 2 0.7 0.6250 0.7239057
## 3 0.6 0.1250 0.4242424
## 4 0.7 0.4375 0.9898990
Colocar el nombre de las variables en minúscula y además reemplazar los puntos por guión bajo.
head(rename_with(tib.e,~tolower(gsub(".","_",.x,fixed=TRUE))),4)
## biomasa flores_r flores_d hojas_d plaga estatus fertilizacion zscore
## 1 5.35 18 10 188 presente S FO 0.26362145
## 2 5.10 17 14 216 presente S FO -0.02158026
## 3 4.02 16 6 127 presente S FO -1.25365166
## 4 5.94 17 11 295 presente S FI 0.93669749
## flores_r_minmax flores_d_minmax hojas_d_minmax
## 1 0.8 0.3750 0.6296296
## 2 0.7 0.6250 0.7239057
## 3 0.6 0.1250 0.4242424
## 4 0.7 0.4375 0.9898990
Entre las opciones interesantes para realizar estadísticas descriptivas está la función summarise(), la cual usaremos en la siguiente actividad:
Se muestra el número total de datos de la tabla con NA nota: no aparece la media ya que tiene datos NA para corregir esto se introduce el comando ,na.rm=TRUE.
tib.i %>% summarise(mean(Biomasa,na.rm=TRUE),n())
## mean(Biomasa, na.rm = TRUE) n()
## 1 5.220225 90
Media y número de datos por tipo de fertilización.
tib.i %>% group_by(Fertilizacion) %>% summarise(mean(Biomasa),n())
## # A tibble: 2 x 3
## Fertilizacion `mean(Biomasa)` `n()`
## <chr> <dbl> <int>
## 1 FI 5.02 48
## 2 FO NA 42
Cuantiles de Biomasa por tipo de fertilización, note que son 5 para fertilización inorgánica y otros 5 para orgánica.
tib.i %>% group_by(Fertilizacion) %>% summarise(quantile(Biomasa,
probs = c(0.1,0.2,0.3,0.4,0.5),na.rm=TRUE))
## `summarise()` has grouped output by 'Fertilizacion'. You can override using the `.groups` argument.
## # A tibble: 10 x 2
## # Groups: Fertilizacion [2]
## Fertilizacion `quantile(Biomasa, probs = c(0.1, 0.2, 0.3, 0.4, 0.5), na.rm =~
## <chr> <dbl>
## 1 FI 3.93
## 2 FI 4.52
## 3 FI 4.71
## 4 FI 4.88
## 5 FI 5.06
## 6 FO 4.25
## 7 FO 4.88
## 8 FO 4.99
## 9 FO 5.27
## 10 FO 5.35
Se obtiene la media, mediana, máximo, mínimo, desviación típica, desviación media, media truncada y varianza por tipo de fertilización y plaga.
tib.i %>% group_by(Fertilizacion,Plaga) %>% summarise(mean(Biomasa),
median(Biomasa),min(Biomasa),max(Biomasa),
sd(Biomasa),dm=mean(abs(Biomasa-mean(Biomasa))),
mean(Biomasa,trim = 0.2),var(Biomasa))
## `summarise()` has grouped output by 'Fertilizacion'. You can override using the `.groups` argument.
## # A tibble: 4 x 10
## # Groups: Fertilizacion [2]
## Fertilizacion Plaga `mean(Biomasa)` `median(Biomasa)` `min(Biomasa)`
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 FI ausente 4.87 4.86 3.04
## 2 FI presente 5.04 5.06 3.33
## 3 FO ausente 5.7 6.06 4.79
## 4 FO presente NA NA NA
## # ... with 5 more variables: max(Biomasa) <dbl>, sd(Biomasa) <dbl>, dm <dbl>,
## # mean(Biomasa, trim = 0.2) <dbl>, var(Biomasa) <dbl>
se obtiene la media, mediana, máximo, mínimo, desviación típica, desviación media, media truncada y varianza por tipo de fertilización y plaga filtrado por plantas sanas.
tib.i %>% group_by(Fertilizacion,Plaga) %>% filter(Estatus=="S") %>% summarise(mean(Biomasa),
median(Biomasa),min(Biomasa),max(Biomasa),
sd(Biomasa),dm=mean(abs(Biomasa-mean(Biomasa))),
mean(Biomasa,trim = 0.2),var(Biomasa) )
## `summarise()` has grouped output by 'Fertilizacion'. You can override using the `.groups` argument.
## # A tibble: 4 x 10
## # Groups: Fertilizacion [2]
## Fertilizacion Plaga `mean(Biomasa)` `median(Biomasa)` `min(Biomasa)`
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 FI ausente 4.86 4.86 4.86
## 2 FI presente 5.19 5.34 3.8
## 3 FO ausente 5.42 5.12 4.9
## 4 FO presente NA NA NA
## # ... with 5 more variables: max(Biomasa) <dbl>, sd(Biomasa) <dbl>, dm <dbl>,
## # mean(Biomasa, trim = 0.2) <dbl>, var(Biomasa) <dbl>
Los datos permanecen igual para todos los cálculos estadísticos pero con drop_na se pueden visualizar los valores de fertilización orgánica con presencia de plaga, ya que antes por la existencia de datos con NA no se podía.
drop_na(tib.i) %>% group_by(Fertilizacion,Plaga) %>% filter(Estatus=="S") %>% summarise(mean(Biomasa),
median(Biomasa),min(Biomasa),max(Biomasa),
sd(Biomasa),dm=mean(abs(Biomasa-mean(Biomasa))),
mean(Biomasa,trim = 0.2),var(Biomasa) )
## `summarise()` has grouped output by 'Fertilizacion'. You can override using the `.groups` argument.
## # A tibble: 4 x 10
## # Groups: Fertilizacion [2]
## Fertilizacion Plaga `mean(Biomasa)` `median(Biomasa)` `min(Biomasa)`
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 FI ausente 4.86 4.86 4.86
## 2 FI presente 5.19 5.34 3.8
## 3 FO ausente 5.42 5.12 4.9
## 4 FO presente 5.19 5.28 3.33
## # ... with 5 more variables: max(Biomasa) <dbl>, sd(Biomasa) <dbl>, dm <dbl>,
## # mean(Biomasa, trim = 0.2) <dbl>, var(Biomasa) <dbl>
Filtrar los datos para plantas muy afectadas usando el operador %in%.
head(tib.c %>% filter(Estatus %in% "MA"))
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion
## 1 4.56 14 9 297 presente MA FI
## 2 4.71 17 8 237 ausente MA FI
## 3 6.01 17 9 9 presente MA FI
## 4 5.02 16 15 231 presente MA FI
## 5 4.39 14 13 203 presente MA FO
## 6 6.84 15 9 65 presente MA FI
Se dejan por fuera dos de los valores NA que tenia la tabla incompleta tib.i. no aparece la fila 82 y la 26.
tib.i=tib.i[complete.cases(tib.i),]
tib.i
## Biomasa Flores.r Flores.d Hojas.d Plaga Estatus Fertilizacion
## 1 4.79 16 8 12 ausente MA FO
## 2 4.50 16 9 200 presente S FI
## 3 3.78 18 8 79 presente MA FI
## 4 5.78 18 15 8 presente MA FI
## 5 4.19 17 14 200 presente PA FI
## 6 5.28 17 8 135 presente S FO
## 7 3.98 14 13 1 presente MA FI
## 8 4.75 17 15 84 presente PA FO
## 9 4.92 17 9 115 presente PA FO
## 10 5.10 17 14 216 presente S FO
## 11 4.92 14 14 44 ausente S FO
## 12 5.14 16 7 132 presente S FO
## 13 4.99 16 9 195 presente S FO
## 14 4.86 11 7 215 ausente S FI
## 15 5.10 14 12 52 presente PA FI
## 16 5.90 14 8 289 presente MA FI
## 17 5.35 18 10 188 presente S FO
## 18 5.26 11 11 15 presente MA FI
## 19 4.68 15 9 124 presente MA FI
## 20 6.15 18 10 110 ausente MA FO
## 21 4.56 14 9 297 presente MA FI
## 22 6.24 17 14 61 presente PA FO
## 23 6.20 18 10 69 presente PA FO
## 24 3.83 16 13 219 presente PA FI
## 25 6.06 14 14 38 ausente MA FO
## 27 5.42 16 11 207 presente PA FO
## 28 5.52 15 7 237 presente PA FI
## 29 5.20 14 6 29 presente S FI
## 30 5.09 19 10 5 presente MA FI
## 31 6.11 16 12 7 ausente PA FI
## 32 5.48 15 10 254 presente S FI
## 33 6.27 13 11 31 presente S FO
## 34 4.91 13 8 218 presente MA FI
## 35 5.72 15 10 146 presente MA FO
## 36 6.08 16 13 195 presente PA FI
## 37 4.62 16 6 74 presente S FI
## 38 6.04 18 5 70 presente MA FO
## 39 5.27 14 8 134 presente S FO
## 40 6.55 14 11 80 ausente S FO
## 41 4.11 19 10 267 presente MA FI
## 42 5.43 18 14 81 presente PA FI
## 43 5.06 17 8 46 presente PA FI
## 44 4.74 15 15 10 presente PA FO
## 45 3.91 11 12 116 presente MA FO
## 46 4.02 16 6 127 presente S FO
## 47 5.78 14 14 158 presente PA FI
## 48 5.75 13 9 242 presente PA FO
## 49 6.40 17 14 218 ausente MA FO
## 50 6.97 17 11 143 presente PA FO
## 51 3.33 15 8 59 presente S FO
## 52 5.94 17 11 295 presente S FI
## 53 4.63 14 11 75 presente MA FI
## 54 5.86 18 5 51 presente MA FI
## 55 5.23 18 8 284 presente PA FI
## 56 5.31 10 11 97 ausente S FO
## 57 4.25 13 9 99 presente PA FO
## 58 6.55 17 9 187 presente MA FO
## 59 6.07 16 14 139 presente PA FI
## 60 6.00 18 16 193 presente S FO
## 61 5.91 14 12 241 presente S FO
## 62 5.46 18 14 11 presente PA FI
## 63 4.94 17 14 206 presente MA FI
## 64 5.72 18 11 198 presente S FO
## 65 6.69 17 10 253 presente MA FO
## 66 4.15 18 8 71 presente MA FO
## 67 6.01 17 18 102 presente S FI
## 68 6.39 16 13 202 presente MA FO
## 69 5.34 17 7 25 presente S FO
## 70 5.76 16 9 280 presente S FI
## 71 5.57 16 11 141 presente S FI
## 72 5.14 14 16 162 presente PA FO
## 73 5.75 18 9 69 presente MA FO
## 74 4.71 17 8 237 ausente MA FI
## 75 5.44 16 17 43 presente MA FI
## 76 4.85 16 8 230 presente MA FI
## 77 5.65 16 13 263 ausente MA FI
## 78 3.04 19 17 189 ausente PA FI
## 79 4.89 14 15 50 presente PA FI
## 80 5.02 16 15 231 presente MA FI
## 81 4.88 11 9 67 presente S FO
## 83 4.71 15 12 67 presente PA FI
## 84 3.33 17 13 24 presente PA FI
## 85 5.05 16 9 175 presente S FI
## 86 4.90 19 7 160 ausente S FO
## 87 4.82 19 7 177 presente PA FI
## 88 6.38 19 10 59 presente MA FI
## 89 3.80 16 9 235 presente S FI
## 90 4.15 18 8 197 presente PA FI
Se eliminan las columnas asociadas al conteo de flores.
head(tib.i[,-c(2,3)],4)
## Biomasa Hojas.d Plaga Estatus Fertilizacion
## 1 4.79 12 ausente MA FO
## 2 4.50 200 presente S FI
## 3 3.78 79 presente MA FI
## 4 5.78 8 presente MA FI
Se selecciona de la tabla completa solo las variables que contienen la letra d en su nombre.
head(select(tib.c,contains("d")),4)
## Flores.d Hojas.d
## 1 10 188
## 2 14 216
## 3 6 127
## 4 11 295
Se ponen los conteos de las flores primero en la tabla y después las demás variables.
head(select(tib.c,Flores.r,Flores.d,everything()),4)
## Flores.r Flores.d Biomasa Hojas.d Plaga Estatus Fertilizacion
## 1 18 10 5.35 188 presente S FO
## 2 17 14 5.10 216 presente S FO
## 3 16 6 4.02 127 presente S FO
## 4 17 11 5.94 295 presente S FI