我在下面编写的代码有问题。我需要为输入矩阵 (aa) 的每一行计算距离矩阵,并将结果保存在以行名作为文件名的文件中。aa 矩阵是 100x100,但测试矩阵如下所示:
ID A B C D
AA 0.5 0.4 0.9 0.5
BB 0.2 0.1 0.8 0.96
CC 0.3 0.5 0.8 0.4
DD 0.1 0.4 0.5 0.78
实际上,我想为每一行获取一个包含距离矩阵的文件,并以“AA.txt”和“BB.txt”以及“CC.txt”和“DD.txt”作为文件名。
a<- read.table ("test_matrix.txt", header = TRUE)
aa<- structure (a, class = "data.frame")
d_ply(aa, 1, function(row){
cu<- dist(as.numeric(row))
cucu<- as.matrix(cu)
write.table(cucu, quote = TRUE, file = paste(row$ID, "txt", sep = "."), sep = "\t")
}, .progress='text', .print = TRUE)
使用上面的代码,我获得了正确的文件名,但内容不正确,因为我有一个 5x5 矩阵而不是 4x4 矩阵。有人可以告诉我是哪个问题吗?我想在阅读标题时有些东西......谢谢!