[英]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.