r - 函数 write.csv 返回错误

标签 r csv

R 函数 write.csv返回错误。

这是我想写的data.frame:

> VaRStats
               A Index    B Index      C Index
Daily VaR     -0.65006    -0.50391     -0.5557
Daily CVaR    -0.75679    -0.57491    -0.65174
5 Days VaR     -1.4204     -1.0077     -1.2269

这是VaRStats的类:
> class(VaRStats)
[1] "data.frame"

这是dput() VaRStats 的输出:
> dput(VaRStats)
structure(list(`JWFXA Index` = structure(list(`NA` = -0.650061101980277, 
    `NA` = -0.756791819719978, `JWFXA Index` = -1.42035638029947), .Names = c(NA, 
NA, "JWFXA Index")), `CCYT1 Index` = structure(list(`NA` = -0.503912574910245, 
    `NA` = -0.574907003405759, `CCYT1 Index` = -1.00773735259718), .Names = c(NA, 
NA, "CCYT1 Index")), `FX Multistrategy Index` = structure(list(
    `NA` = -0.555699685451229, `NA` = -0.651738541799373, `FX Multistrategy Index` = -1.22688572580144), .Names = c(NA, 
NA, "FX Multistrategy Index"))), .Names = c("JWFXA Index", "CCYT1 Index", 
"FX Multistrategy Index"), row.names = c("Daily VaR", "Daily CVaR", 
"5 Days VaR"), class = "data.frame")

通过 write.csv 生成的错误功能
> write.csv(VaRStats, "SummaryStats.csv")
Error in write.table(x, file, nrow(x), p, rnames, sep, eol, na, dec, as.integer(quote),  : 
  type 'list' not implemented in 'EncodeElement'

这怎么可能?

最佳答案

在这里你可以简单地做到这一点:

      write.csv(as.matrix(dd), "SummaryStats.csv")

这是有效的,因为您所有的列都是数字。
read.csv("SummaryStats.csv")
         X JWFXA.Index CCYT1.Index FX.Multistrategy.Index
1  Daily VaR  -0.6500611  -0.5039126             -0.5556997
2 Daily CVaR  -0.7567918  -0.5749070             -0.6517385
3 5 Days VaR  -1.4203564  -1.0077374             -1.2268857

编辑

这个解决方案是正确的。

如果您在其中一个列表中有一个字符串:
dd[1,1] <- 'a'

as.matrix(dd)
           JWFXA Index CCYT1 Index FX Multistrategy Index
Daily VaR  "a"         -0.5039126  -0.5556997            
Daily CVaR -0.7567918  -0.574907   -0.6517385            
5 Days VaR -1.420356   -1.007737   -1.226886 

但使用 as.numeric将失败或至少转换为 NA
sapply(dd, as.numeric)
     JWFXA Index CCYT1 Index FX Multistrategy Index
[1,]          NA  -0.5039126             -0.5556997
[2,]  -0.7567918  -0.5749070             -0.6517385
[3,]  -1.4203564  -1.0077374             -1.2268857
Warning message:

关于r - 函数 write.csv 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15434138/

相关文章:

python - 将 CSV 从 Kafka 发送到 Spark Streaming

node.js - 如何使用reactjs将导入的csv数据显示到表格中?

r - 日志 y 轴的标签 : 1000 instead of 1e+03?

r - 如何正确解释具有大 z 统计数据/冲突错误消息的 glmmTMB 模型?

r - 两个因子的变量均值

python - 如何将列表写入 CSV 文件?

php - 带有自定义 header 的 fputcsv

sql - 用于 CSV 文件的快速、免费的桌面 SQL 工具

r - 通过使用并行处理和/或 plyr/dplyr 提高 gDistance 函数的速度/使用?

r - 收集虚拟变量和重新编码因子