Я пытаюсь создать цикл, используя операторы for, который добавляет имя переменной, которая анализируется статистическим тестом (wilcoxon.test), слева от всех связанных статистических тестов в одной строке фрейма данных.
Я нашел код, исключающий вторую инструкцию 'for', содержащую ссылку 'i', для правильной работы - поэтому статистика верна, но когда я добавляю код в (включая оператор for, ссылающийся на 'i' итакже перечисляя 'i' под вектором, указанным в 'rbind', все ранее правильные статистические данные перезаписываются набором статистических результатов одного теста.
dta <- c()
max_col_A1.1_OR_df_transp <- ncol(A1.1_OR_df_transp)
for(j in 2:ncol(numeric_A1.1_OR_df_transp)){
for(i in colnames(A1.1_OR_df_transp[2:max_col_A1.1_OR_df_transp])){
wilcoxon_input <- as.matrix(c(A1.1_OR_df_transp[1:23,j], A1.1_OR_df_transp[24:76,j]))
wilcoxon_result <- wilcox.test(wilcoxon_input[1:23], wilcoxon_input[24:76], alternative = "two.sided", paired = FALSE, exact = TRUE)
dta <- rbind(dta,c(i,(unlist( wilcoxon_result))))
}
}
Ожидаемые результаты должны выглядеть следующим образом (A):
head(dta)
[1,] "AAA_8.44_753.9742mz" "1214" "2.2272910427744e-18" "0"
"two.sided" "Wilcoxon rank sum test"
"wilcoxon_input[1:23] and wilcoxon_input[24:76]"
[2,] "AAA_9.03_190.0498mz" "1059" "2.02343356121504e-08" "0"
"two.sided" "Wilcoxon rank sum test with continuity correction"
"wilcoxon_input[1:23] and wilcoxon_input[24:76]"
Фактические результаты (B): (обратите внимание, как правильно имя переменной (крайний левый угол), но другие результаты теста копируются)
head(dta)
[1,] "AAA_8.44_753.9742mz" "1214" "2.2272910427744e-18" "0"
"two.sided" "Wilcoxon rank sum test" "wilcoxon_input[1:23] and
wilcoxon_input[24:76]"
[2,] "AAA_9.03_190.0498mz" "1214" "2.2272910427744e-18" "0"
"two.sided" "Wilcoxon rank sum test" "wilcoxon_input[1:23] and