【发布时间】:2014-01-23 19:31:31
【问题描述】:
我使用“by”函数计算大量图形(有 4 个变量)的相关矩阵,并将结果保存在数据框中,如下所示:
results <- by(data, data$graphNumber, cor)
在哪里:
data 是我的原始图形数据,data$graphNumber 是我用来窗格结果的变量,cor 是用来创建相关矩阵的函数
results 的样本:
d$graphNumber: 1
x y z T
x 1.0000000 0.9445139 0.9967193 0.9753503
y 0.9445139 1.0000000 0.9630660 0.9853882
z 0.9967193 0.9630660 1.0000000 0.9897238
T 0.9753503 0.9853882 0.9897238 1.0000000
-------------------------------------------------------------------------------
d$graphNumber: 2
x y z T
x 1.0000000 0.9075414 0.9587088 0.9140054
y 0.9075414 1.0000000 0.9833022 0.9942477
z 0.9587088 0.9833022 1.0000000 0.9768249
T 0.9140054 0.9942477 0.9768249 1.0000000
-------------------------------------------------------------------------------
...
我现在想将我的结果保存为 CSV。我试过使用:
write.table(results,"data.csv")
但这会返回错误:
Error in as.data.frame.default(results[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) :
cannot coerce class '"by"' into a data.frame
我可以使用以下方法编写每个单独的矩阵:
write.table(results[1],"data.csv")
但是,我想将所有结果写入一个 CSV 文件,并通过某种方式识别每个矩阵对应的图形。
结果结构,str(results):
List of 1013
$ 1 : num [1:4, 1:4] 1 0.945 0.997 0.975 0.945 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:4] "x" "y" "z" "T"
.. ..$ : chr [1:4] "x" "y" "z" "T"
$ 2 : num [1:4, 1:4] 1 0.908 0.959 0.914 0.908 ...
..- attr(*, "dimnames")=List of 2
.. ..$ : chr [1:4] "x" "y" "z" "T"
.. ..$ : chr [1:4] "x" "y" "z" "T"
【问题讨论】:
标签: r csv export-to-csv