【发布时间】:2013-03-15 13:49:15
【问题描述】:
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"
这是VaRStats 的dput() 输出:
> 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'
这怎么可能?
【问题讨论】:
-
对我来说很好用...一定有你没有提供的缺失部分。
-
在这里也可以正常工作。也许您可以在您的
VaRStats对象上复制/粘贴dput? -
我最近遇到了类似的奇怪错误 - 只需重新启动 R 即可修复
-
lapply(VaRStats,class) 建议您的列是列表。这可能就是问题所在。
-
你的结构并不是真正的data.frame。它刚刚被分配了“data.frame”类。就像 ndoogan 所说,您的列是列表而不是数字。您可以通过执行 sum(VaRStats) 轻松看到这一点,这不起作用。