我使用「by」函數來計算大量圖(其中有4個變量)的相關矩陣,並將結果保存在數據框中,像這樣:保存使用「by」函數生成的數據幀中保存的數據
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"
令人驚歎。這個作品 – joshlk
@Josh PS:也許你更喜歡'save(results,file =「test.RData」)''和'load(「test.RData」)'而不是類型轉換。 – lukeA