Quiero analizar mis datos usando el paquete purr y el paquete psych. Aquí está parte de mis datos:

df <- tribble(
    ~temp1, ~temp2, ~temp3, ~temp4, ~temp5, ~temp6, ~temp7, ~temp8,
    75, 88, 85, 71, 98, 76, 71, 57,
    80, 51, 84, 72, 59, 81, 70, 64,
    54, 65, 90, 66, 93, 88, 77, 59,
    59, 87, 94, 75, 74, 53, 56, 87,
    52, 55, 64, 77, 50, 64, 83, 87,
)

Aquí, quiero hacer coincidir el pago 1 con el pago 2, el pago 3 con el pago 4 y el pago 5 solo con el pago 6. Podría hacerlo usando el paquete purr para algunos métodos, por ejemplo, correlación, podría usar los siguientes códigos:

df %>% 
  split.default(rep_len(1:2, ncol(.))) %>% 
  pmap_dbl(~ cor( .x,.y))

Pero no funciona para ICC en el paquete psych

df %>% 
  split.default(rep_len(1:2, ncol(.))) %>% 
  pmap_dbl(~ ICC( .x,.y))

¿Podemos hacer ICC usando el paquete psych, basic r u otros paquetes?

0
user330 23 oct. 2020 a las 12:40

1 respuesta

La mejor respuesta

Podemos usar pmap aquí ya que ICC no devuelve valores numéricos sino una salida de clase "psych" "ICC" ..

library(purrr)
library(psych)

df %>%  split.default(rep_len(1:2, ncol(.))) %>% pmap(~ICC(cbind(..1, ..2)))

#$temp1
#Call: ICC(x = cbind(..1, ..2))

#Intraclass correlation coefficients 
#                         type  ICC   F df1 df2    p lower bound upper bound
#Single_raters_absolute   ICC1 0.12 1.3   4   5 0.39       -0.61        0.78
#Single_random_raters     ICC2 0.12 1.3   4   4 0.41       -0.65        0.78
#Single_fixed_raters      ICC3 0.12 1.3   4   4 0.41       -0.67        0.78
#Average_raters_absolute ICC1k 0.21 1.3   4   5 0.39       -3.11        0.87
#Average_random_raters   ICC2k 0.21 1.3   4   4 0.41       -3.68        0.88
#Average_fixed_raters    ICC3k 0.21 1.3   4   4 0.41       -4.06        0.88

# Number of subjects = 5     Number of Judges =  2
#$temp3
#Call: ICC(x = cbind(..1, ..2))

#Intraclass correlation coefficients 
#                         type   ICC    F df1 df2    p lower bound upper bound
#Single_raters_absolute   ICC1 -0.24 0.61   4   5 0.67       -0.79        0.59
#...
#...
0
Ronak Shah 23 oct. 2020 a las 09:58