【发布时间】:2019-05-25 16:18:48
【问题描述】:
我无法将 R 矩阵导出到 Excel,而 R 矩阵的值在 Excel 的单独单元格中导出。
当我使用 write.csv 或 write.table 函数并尝试在 Excel 中打开输出时,每一行的值都会合并到 Excel 中的一个单元格中。所以 Excel 中的每个随机单元格看起来像这样:[0.33,0.24,0.23,02] 而我希望每个值都在单独的单元格中,如下所示:[0.33] [0.24] [0.23] 等。
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 1.0000000 0.8662618 0.9990604 0.9966197 0.9995365 0.9958028 0.9475572 0.9977010
[2,] 0.8662618 1.0000000 0.8568601 0.8846999 0.8524181 0.8930027 0.8778416 0 .8630592
[3,] 0.9990604 0.8568601 1.0000000 0.9965658 0.9994639 0.9947839 0.9501188 0.9977547
[4,] 0.9966197 0.8846999 0.9965658 1.0000000 0.9952404 0.9969191 0.9614838 0.9950432
[5,] 0.9995365 0.8524181 0.9994639 0.9952404 1.0000000 0.9941026 0.9432181 0.9974717
[6,] 0.9958028 0.8930027 0.9947839 0.9969191 0.9941026 1.0000000 0.9587064 0.9972479
[7,] 0.9475572 0.8778416 0.9501188 0.9614838 0.9432181 0.9587064 1.0000000 0.9581845
[8,] 0.9977010 0.8630592 0.9977547 0.9950432 0.9974717 0.9972479 0.9581845 1.0000000
我使用了这些功能:
write.csv(cosmatBB, "2005cossims.csv")
write.table(cosmatBB, "cossimssTabelPoging.csv", sep=",")
但我在 Excel 中没有得到想要的输出。
提前致谢。
【问题讨论】:
-
嗯。不知道你是怎么做到的!从您在这里的情况来看,尚不清楚这是 R 问题还是 Excel 问题。如果您提供一个我们可以尝试重现的更简单的示例,我们可以为您提供更好的帮助。在这种情况下,从您的数据集的较小版本开始,例如
sm <- cosmatBB[1:4,1:4],然后通过运行dput(sm)并将输出复制到您的问题中给我们一个可以输入的版本。然后在sm上运行您的write.csv命令并将该文件的结果也复制到您的问题中。也许这样做之后,你甚至会明白答案! -
有关如何编写一个好的可重现示例的一般提示,请参阅此问题:stackoverflow.com/q/5963269/210673
-
可能是由 Windows 区域设置引起的:您描述的问题在法国计算机上很常见,默认情况下 Excel 期望 CSV 文件具有分号分隔符而不是逗号。检查 Excel 需要什么(从 Excel 导出 CSV 文件并使用记事本检查其内容),并调整从 R 导出的内容(您也可以更改分隔符和小数点分隔符,或者您可以使用
write.csv2)。