私はRを使用して、保存された.csvファイルを特定のペアワイズ方法で開き、統計テストを実行しています(mantel.rtest
パッケージ「ade4」に含まれています)。.csv ファイルは、「fileAX」または「fileBY」のいずれかの順番で名前が付けられます。ここで、X と Y は整数です。
このテストの結果を 1 つのファイルに保存したいのですが、いくつか問題が発生しています。
コードは次のとおりです (「貼り付け」の非効率的な使い方をお許しください:
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」をより使いやすい形式に変換しようとしましたが、役に立ちませんでした。何かご意見は?
ありがとう、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"