繁体   English   中英

将R中的数据帧输出到.csv

[英]Outputting a Dataframe in R to a .csv

因此,我试图基于R中的数据帧编写一个.csv文件,但是由于某些原因,我不断收到以下错误:

Error in .External2(C_writetable, x, file, nrow(x), p, rnames, sep, eol,  : 
  unimplemented type 'list' in 'EncodeElement

这是traceback()提供的:

5: write.table(df, file = "df.csv", col.names = NA, 
       sep = ",", dec = ".", qmethod = "double")
4: eval(expr, envir, enclos)
3: eval(expr, p)
2: eval.parent(Call)
1: write.csv(df, file = "df.csv")

有什么办法吗?

您也可以直接在R中强制转换数据帧:

my.df <- data.frame(lapply(old.df, as.character), stringsAsFactors=FALSE)

CAVEAT:这会将您的整个数据框强制为您指定的任何类型。 例如,如果要将数据框强制转换为数字,则可以将“ as.characater”替换为“ as.numeric”:

 my.df <- data.frame(lapply(old.df, as.numeric), stringsAsFactors=FALSE)

您的一列是列表类型,因此data.frame不再是二维的,并且不能导出到2d csv文件。

如果仍然要将列表存储在结果输出中,则可以先将其转换为JSON。 因此,它成为“字符”类型的列,可以轻松将其作为一个列导出到csv。

我只是遇到了同样的问题,而不是使用as.character()或as.numeric(),而是使用了as.matrix(),它保留了我的字符变量和数字变量,并输出了.csv文件像做梦一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM