r - `write.dbf` 因类 `tbl_df` 的对象而失败

标签 r dplyr

我用 .dbf 文件和 dplyr 做了很多工作。 write.dbf() 中有一个错误会阻止将 tbl_df 对象写入 .dbf 文件。

不幸的是,错误消息写得不好,因此很难弄清楚到底发生了什么。

这是一个 MWE

library(dplyr)
library(foreign)

d <- data_frame( x = 1:4, y = rnorm(4) )
write.dbf(d, "test.dbf")
  Error in write.dbf(d, "test.dbf") : unknown column type in data frame

最佳答案

这里的解决方案是强制 d 类为裸 data.frame

class(d)
 [1] "tbl_df"     "tbl"        "data.frame"
df <- as.data.frame(d)
class(df)
 [1] "data.frame"
write.dbf(as.data.frame(df), "test.dbf")  # works

我已经向 foreign 人提交了一份错误报告,但希望这篇文章可以为其他人减轻一些痛苦。

关于r - `write.dbf` 因类 `tbl_df` 的对象而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32286921/

相关文章:

r - 日期填充直到遇到下一个日期值 R

r - 我可以在 dplyr 中加入 4 个以上的数据帧吗?

r - 选择语句错误 : unused argument

R-如何有条件地删除group_by的第一行

如果满足标准 R,则每个因子仅保留一行

r - 计算 igraph 中的分类性

r - 根据特定的 NA 量和 R 中的特定组删除行

r - 尝试使用聚合对列中的值子集运行线性模型

r - R脚本在本地计算机上成功运行,而不是在EC2实例上运行

r - 用dplyr总结一个因子的计数