Я довольно новичок в R и пытаюсь запустить тест kruskal wallis, чтобы увидеть, есть ли разница между тремя группами при взгляде на разные гены. У меня 3 группы и 127 белков. Я смог создать код, который будет делать это,
sample_data "
groups <- c("control","control","control","control","control","group1","group1","group1","group1","group1","group1","group1","group1","group1","group1","group1","group1","group1","group2","group2","group2","group2","group2","group2","group2","group2")
gene1 <- c(8,7,4,5,0,2,8,5,6,4,4,6,5,4,6,4,7,4,8,1,6,3,5,6,3,1)
gene2 <- c(8,10,10,9,7,5,8,10,8,9,10,9,6,9,8,7,8,7,8,9,9,7,7,6,9,8)
gene3 <- c(10,11,10,11,5,6,9,11,10,11,12,8,4,7,7,10,10,3,2,11,9,10,9,3,10,10)
gene4 <- c(4,4,3,2,0,2,4,4,3,3,4,1,1,1,4,4,3,2,3,4,4,1,4,3,2,2)
gene5 <- c(8,10,11,10,7,6,8,8,8,12,11,8,7,8,8,10,10,9,10,8,10,7,8,7,10,7)
mydata <- data.frame(groups,gene1,gene2,gene3,gene4,gene5)
i <- 2 #ignore 1st column as this is not a "protein"
pval <-NULL
repeat{
K <- kruskal.test(df[,i], df[,1], data = df, paired=FALSE, p.adjust.methods="none")
pval <- c(as.matrix(sapply(K[3],as.numeric)),pval)
i <- i+1
if(i>ncol(df)){break}
}
к сожалению, полученное значение отличается от того, которое я получаю, выполняя тест kruskal wallis только на одном гене в время: например:
Для Gene1 значение p, полученное из l oop, равнялось 0,0389, но когда я запускаю kruskal.test (Gene1, group, data = df), я получаю значение 0,84.
Я сталкивался с этим, потому что после выполнения теста крускальских валлистов я продолжил парный тест Манна Уитни и заметил, что «значимые» значения для Крускала Уоллиса не коррелируют со «значительными» значениями для Манна Уитни.
Кроме того, я пошел на VassarStats и minitab и получил p-значение 0,84 (поправка на связи). Я хотел бы знать, как я могу выполнить этот тест Крускала Уоллиса в al oop без р-значений Я не вижу, что я делаю неправильно?
Кроме того, я использовал getAnywhere (kruskal.test.default), который я видел в предыдущем посте, но я не могу найти, что может вызвать это при выполнении теста снова и снова.