首页 > 解决方案 > 导出 R 展开表

问题描述

我是 R 新手,但在抓取数据(gwlevel)然后使用“扩展函数”放入扩展表(gwlevel_spread)时取得了一些初步成功。

我的问题是我可以轻松导出“gwlevel”表,如下:

write.table(gwlevel, file = "c:/BOB/r/export/zz_jnk.csv")

但是,当我尝试导出“gwlevel_spread”文件时,我不断收到错误消息,如下所示:

write.table(gwlevel_spread,"c:/BOB/r/export/zz_jnk.csv",sep=",") write.table 中的错误(gwlevel_spread,"c:/BOB/r/export/zz_jnk.csv", sep = ",") : 'EncodeElement' 中未实现的类型'list'

(1) 谁能告诉我原因?(2)或者有没有更好的方法我应该这样做?

标签: rexport

解决方案


这可能意味着您的数据中有一些无法导出到 csv 的列表列。您可以将列表列折叠为一个逗号分隔的字符串,然后再将其写入 csv。

如果调用列表列,col您可以执行以下操作:

gwlevel_spread$col <- sapply(gwlevel_spread$col, toString)

如果您不知道哪一列是列表或数据中有许多列属于列表类,您可以使用条件lapply

gwlevel_spread[] <- lapply(gwlevel_spread, function(x) 
                          if('list' %in% class(x)) sapply(x, toString) else x)

然后使用write.tableor写入 csv write.csv

write.table(gwlevel_spread, file = "c:/BOB/r/export/zz_jnk.csv")

推荐阅读