将矩阵保存到列表中的.txt

时间:2017-10-06 10:51:22

标签: r matrix

我有32个不同名称的矩阵需要保存到.txt。我试图将每个矩阵添加到列表中,并希望使用循环从列表中保存。我首先尝试使用一个名为mat_dis_func_742的矩阵。

lsMatrix<-list()
name <- paste("mat_dis_func_", 742, sep="")
mat_dis_temp <- get(name)
lsMatrix[[name]] <- mat_dis_temp
write.table(lsMatrix[1],file=paste("Results/Test.txt"), row.names=FALSE, col.names=TRUE, sep=";",quote=FALSE)

最后保存的是:

mat_dis_func_742.Class;mat_dis_func_742.Lower.bound;mat_dis_func_742.Upper.bound;mat_dis_func_742.n.x.;mat_dis_func_742.h.x.;mat_dis_func_742.f.x.
1;0.0908181818181818;0.339572192513369;2;0.666666666666667;0.666666666666667
2;0.339572192513369;0.588235294117647;1;0.333333333333333;1

我想要的是:

Class;Lower bound;Upper bound;n(x);h(x);f(x)
1;0.0908181818181818;0.339572192513369;2;0.666666666666667;0.666666666666667
2;0.339572192513369;0.588235294117647;1;0.333333333333333;1

因此列名称与mat_dis_func_742.混合在一起。我不知道如何解决它,但我不确定这是否是保存许多矩阵的正确方法。

1 个答案:

答案 0 :(得分:0)

使用write.table(lsMatrix[[1]],...)代替write.table(lsMatrix[1],...)。这是一个例子:

# Problem
mat_742 <- diag(5)
colnames(mat_742) <- paste("column", 1:5, sep = "")
colnames(mat_742)
lsMatrix<-list()
name <- paste("mat_", 742, sep="")
mat_dis_temp <- get(name)
lsMatrix[[name]] <- mat_dis_temp
write.table(lsMatrix[1],file=paste("Test.txt"),
            row.names=FALSE, col.names=TRUE, sep=";",quote=FALSE) #check file

# Solution
write.table(lsMatrix[[1]],file=paste("Test.txt"),
            row.names=FALSE, col.names=TRUE, sep=";",quote=FALSE) #check file