我正在使用 R 以特定的成对方式打开一些保存的 .csv 文件并执行统计测试(mantel.rtest
在包“ade4”中找到)。.csv 文件按顺序命名为“fileAX”或“fileBY”,其中 X 和 Y 是整数。
我想将此测试的结果保存在一个文件中,但遇到了一些问题。
这是代码(请原谅“粘贴”的低效用法:
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**
我尝试使用“unlist”和“as.vector”等各种功能将“mantelout”转换为更友好的格式,但无济于事。有什么想法吗?
谢谢,哇
编辑:我应该注意,在 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"