F
factor() {base}
Codifica un vector como factor |
|
#Importación de datos
datos.f = data.frame(
CO2 = factor(
rep(
c("0.0","0.083","0.29","0.50","0.86"),
each = 10
)
),
respuesta = c(
62.6,59.6,64.5,59.3,58.6,64.6,50.9,56.2,52.3,62.8,
50.9,44.3,47.5,49.5,48.5,50.4,35.2,49.9,42.6,41.6,
45.5,41.1,29.8,38.3,40.2,38.5,30.2,27.0,40.0,33.9,
29.5,22.8,19.2,20.6,29.2,24.1,22.6,32.7,24.4,29.6,
24.9,17.2,7.8,10.5,17.8,22.1,22.6,16.8,15.9,8.8
)
)
#factor()
datos.f$CO2 = factor(x = datos.f$CO2,
levels = c("0.86","0.50","0.29","0.083","0.0"),
ordered = TRUE)
datos.f$CO2
## [1] 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.083 0.083
## [13] 0.083 0.083 0.083 0.083 0.083 0.083 0.083 0.083 0.29 0.29 0.29 0.29
## [25] 0.29 0.29 0.29 0.29 0.29 0.29 0.50 0.50 0.50 0.50 0.50 0.50
## [37] 0.50 0.50 0.50 0.50 0.86 0.86 0.86 0.86 0.86 0.86 0.86 0.86
## [49] 0.86 0.86
## Levels: 0.86 < 0.50 < 0.29 < 0.083 < 0.0
filter() {dplyr}
¡Atención!
Instalar el paquete dplyr para hacer uso de la función filter.
Para ello utilizar el siguiente código:
install.packages("dplyr")
Nos permite filtrar filas según una condición determinada. Se pueden incluir una o más condiciones en un mismo filtro |
|
Por ejemplo puede filtrar de la columna AT (Acidez Total), perteneciente a la Tabla 1: datos, todas aquellas filas que contengan valores que sean menores o iguales a la media de AT.
library(dplyr) # Se debe llamar al paquete primero
mean(AT)
## [1] 3.937647
#Filtrar todos los valores de AT que sean menores o iguales al promedio de AT (<=)
filter(datos, datos$AT <= mean(datos$AT))
## Departamento Variedad Brix pH AT PT Caracterización
## 1 Tumbaya Red Delicius 10.0 3.72 2.32 1.03 Dulce
## 2 Tumbaya Red Delicius 11.0 3.70 2.18 1.30 Dulce
## 3 Tumbaya Red Delicius 8.0 3.59 3.08 0.77 Dulce
## 4 Humahuaca Red Delicius 12.0 4.71 1.06 0.95 Dulce
## 5 Humahuaca Amarilla tempranera 15.0 4.86 0.96 0.33 Amargo
## 6 Humahuaca Melona 16.0 4.79 2.12 1.79 Dulce-amargo
## 7 Humahuaca Verde deliciosa 10.0 3.94 3.31 0.86 Dulce
## 8 Humahuaca Desconocida roja I 14.5 3.74 2.99 0.64 Dulce
## 9 Humahuaca Desconocida roja II 12.0 4.73 0.87 1.18 Dulce
#Misma confición pero con el ordenador %>% o |>
datos %>%
select(AT) %>%
filter(AT <= mean(AT))
## AT
## 1 2.32
## 2 2.18
## 3 3.08
## 4 1.06
## 5 0.96
## 6 2.12
## 7 3.31
## 8 2.99
## 9 0.87
fivenum() {stats}
Permite obtener un agregado de medidas de tendencia central (cinco números) |
# PT: Polifenoles totales
fivenum(datos$PT)
## [1] 0.33 0.86 1.01 1.27 2.05
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.330 0.860 1.010 1.078 1.270 2.050
Freq() {DescTools}
¡Atención!
Instalar el paquete DescTools para hacer uso de la función Freq.
Para ello utilizar el siguiente código:
install.packages("DescTools")
Permite construir una tabla de frecuencias |
x = es el vector de valores reales a agrupar
breaks = son los puntos de corte de agrupamiento
include.lowest = TRUE o FALSE. Cuando es TRUE, el primer intervalo de clase es cerrado por izquierda
|
library(DescTools) # Llamar al paquete primero
Freq(datos$PT)
## level freq perc cumfreq cumperc
## 1 [0,0.5] 1 5.9% 1 5.9%
## 2 (0.5,1] 7 41.2% 8 47.1%
## 3 (1,1.5] 7 41.2% 15 88.2%
## 4 (1.5,2] 1 5.9% 16 94.1%
## 5 (2,2.5] 1 5.9% 17 100.0%
friedman.test() {stats}
Realiza una prueba de suma de rangos de Friedman |
y = vector numérico de valores de datos
groups = vector que da el grupo para los elementos correspondientes de y
blocks = vector que da el bloque para los elementos correspondientes de y
|
tratamientos = factor(rep(c("control","ch","ch+2%AEO"), times = 10))
bloques = factor(rep(c("1","2","3","4","5","6","7","8","9","10"),each =3))
olor = c(1,3,3,1,2,4,1,2,4,2,3,5,1,3,3,
1,3,3,2,2,3,2,3,3,3,3,5,1,3,3)
dat.friedman = data.frame(tratamientos,bloques,olor)
dat.friedman
## tratamientos bloques olor
## 1 control 1 1
## 2 ch 1 3
## 3 ch+2%AEO 1 3
## 4 control 2 1
## 5 ch 2 2
## 6 ch+2%AEO 2 4
## 7 control 3 1
## 8 ch 3 2
## 9 ch+2%AEO 3 4
## 10 control 4 2
## 11 ch 4 3
## 12 ch+2%AEO 4 5
## 13 control 5 1
## 14 ch 5 3
## 15 ch+2%AEO 5 3
## 16 control 6 1
## 17 ch 6 3
## 18 ch+2%AEO 6 3
## 19 control 7 2
## 20 ch 7 2
## 21 ch+2%AEO 7 3
## 22 control 8 2
## 23 ch 8 3
## 24 ch+2%AEO 8 3
## 25 control 9 3
## 26 ch 9 3
## 27 ch+2%AEO 9 5
## 28 control 10 1
## 29 ch 10 3
## 30 ch+2%AEO 10 3
friedman.test(y = dat.friedman$olor,
groups = dat.friedman$tratamientos,
blocks = dat.friedman$bloques)
##
## Friedman rank sum test
##
## data: dat.friedman$olor, dat.friedman$tratamientos and dat.friedman$bloques
## Friedman chi-squared = 16.909, df = 2, p-value = 0.0002129
friedman_test() {rstatix}
¡Atención!
Instalar el paquete rstatix para hacer uso de la función friedman_test.
Para ello utilizar el siguiente código:
install.packages("rstatix")
Proporciona un marco fácil de usar para realizar una prueba de suma de rangos de Friedman |
data = data.frame que contiene las variables de la fórmula
formula = fórmula de la forma a ~ b | c, donde a (numérico) es el nombre de la variable dependiente; b son las variables del factor dentro de los sujetos; y c (factor) es el nombre de la columna que contiene el identificador de los individuos/sujetos. Debe ser único por individuo
|
tratamientos = factor(rep(c("control","ch","ch+2%AEO"), times = 10))
bloques = factor(rep(c("1","2","3","4","5","6","7","8","9","10"),each =3))
olor = c(1,3,3,1,2,4,1,2,4,2,3,5,1,3,3,
1,3,3,2,2,3,2,3,3,3,3,5,1,3,3)
dat.friedman = data.frame(tratamientos,bloques,olor)
dat.friedman
## tratamientos bloques olor
## 1 control 1 1
## 2 ch 1 3
## 3 ch+2%AEO 1 3
## 4 control 2 1
## 5 ch 2 2
## 6 ch+2%AEO 2 4
## 7 control 3 1
## 8 ch 3 2
## 9 ch+2%AEO 3 4
## 10 control 4 2
## 11 ch 4 3
## 12 ch+2%AEO 4 5
## 13 control 5 1
## 14 ch 5 3
## 15 ch+2%AEO 5 3
## 16 control 6 1
## 17 ch 6 3
## 18 ch+2%AEO 6 3
## 19 control 7 2
## 20 ch 7 2
## 21 ch+2%AEO 7 3
## 22 control 8 2
## 23 ch 8 3
## 24 ch+2%AEO 8 3
## 25 control 9 3
## 26 ch 9 3
## 27 ch+2%AEO 9 5
## 28 control 10 1
## 29 ch 10 3
## 30 ch+2%AEO 10 3
library(rstatix)
friedman_test(data = dat.friedman,
formula = olor ~ tratamientos |bloques)
## # A tibble: 1 × 6
## .y. n statistic df p method
## * <chr> <int> <dbl> <dbl> <dbl> <chr>
## 1 olor 10 16.9 2 0.000213 Friedman test