Я использую R, чтобы открыть некоторые сохраненные файлы .csv определенным попарно и выполнить статистический тест (mantel.rtest
, находится в пакете "ade4").Файлы .csv последовательно называются либо «fileAX», либо «fileBY», где X и Y - целые числа.
Я хотел бы сохранить результаты этого теста в одном файле, но столкнулся с некоторыми проблемами.
Вот код (прошу прощения за неэффективное использование "paste":
library(ade4)
x <- 1:15; y <- 1:15
filename1 <- paste(paste(c("fileA"), 1:15, sep = ""), ".csv", sep = "")
filename2 <- paste(paste(c("fileB"), 1:15, sep = ""), ".csv", sep = "")
for (i in seq(along=x)) {
M1 <- read.table(paste("C:\\scripts\\", filename1[i], sep = ""), header = FALSE, sep = ",")
for (j in seq(along=y)) {
M2 <- read.table(paste("C:\\scripts\\", filename2[j], sep = ""), header = FALSE, sep = ",")
mantelout <- mantel.rtest(dist(matrix(M1, 9, 9)), dist(matrix(M2, 9, 9)), nrepet = 99)
write.table(mantelout, file = "C:\\results\\mantelout")
}
}
Попытка сделать это приводит к следующему сообщению об ошибке:
**Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) :
cannot coerce class '"rtest"' into a data.frame**
Я попытался преобразовать "mantelout" в более дружественный формат, используя различные функции, такие как "unlist" и "as.vector ", безрезультатно. Есть мысли?
Спасибо, WAW
РЕДАКТИРОВАТЬ: я должен отметить, что вывод этого теста в среде R выглядит следующим образом:
Monte-Carlo test
Observation: 0.5324712
Call: mantel.rtest(m1 = dist(matrix(M1, 9, 9)), m2 = dist(matrix(M2, 9, 9)), nrepet = 99)
Based on 99 replicates
Simulated p-value: 0.01"