Как выполнить pairwise.t.test в список с `for` l oop? - PullRequest
1 голос
/ 14 января 2020

Мой список (lt):

df_1 <- data.frame(
  x = replicate(
    n = 2, 
    expr = runif(n = 30, min = 20, max = 100)
  ), 
  y = sample(
    x = 1:3, size = 30, replace = TRUE
  )
)

lt <- split(
  x = df_1, 
  f = df_1[['y']]
)

vars <- names(df_1)[1:2]

Я пытаюсь:

for (i in vars) {
  for (i in i) {
    print(pairwise.t.test(x = lt[, i], g = lt[['y']], p.adj = 'bonferroni'))
  }
}

Но сообщение об ошибке:

Ошибка в lista [, i]: неверное количество измерений

В чем проблема?

1 Ответ

1 голос
/ 14 января 2020

Нам не нужно split

pairwise.t.test(unlist(df_1[1:2]), g = rep(df_1$y, 2), p.adj = 'bonferroni')
#Pairwise comparisons using t tests with pooled SD 

#data:  unlist(df_1[1:2]) and rep(df_1$y, 2) 

#  1    2   
#2 1.00 -   
#3 0.91 1.00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...