我正在尝试绑定数据帧行。 聚合后,我用列表列生成了一些数据框,但有些是字符。 我找不到绑定它们的方法。 我尝试使用as.list()转换字符列,但这没有用。

library(dplyr)
df1 <- data.frame(a = c(1,2,3),stringsAsFactors = F)
df1$b <-  list(c("1","2"),"4",c("5","6"))
> df1
  a    b
1 1 1, 2
2 2    4
3 3 5, 6
df2 <- data.frame(a=c(4,5),b=c("9","12"),stringsAsFactors = F)
> df2
  a  b
1 4  9
2 5 12
dplyr::bind_rows(df2,df1)
Error in bind_rows_(x, .id) : 
  Column `b` can't be converted from character to list

#1楼 票数:2 已采纳

我不太了解dplyr库,但是使用下面的基数R的rbind()似乎有效:

df1 <- data.frame(a = c(1,2,3),stringsAsFactors = F)
df1$b <-  list(c("1","2"),"4",c("5","6"))
df2 <- data.frame(a=c(4,5),b=c("9","12"),stringsAsFactors = F)

result <- rbind(df1, df2)

class(result$a)
[1] "numeric"
class(result$b)
[1] "list"

演示版

如果您想使用bind_rows()此操作, bind_rows()查看错误消息。 看起来dplyr不喜欢一个数据帧具有字符数据,而另一个数据帧具有列表数据。 您可以尝试将字符列转换为列表,然后调用bind_rows ,例如

df2$b <- as.list(df2$b)
dplyr::bind_rows(df2,df1)

  ask by Eric translate from so

未解决问题?本站智能推荐:

1回复

如何将H2OFrame对象的多列强制转换为因子?

我正在尝试遵循关于以下问题的建议: “一次将多列强制转换为因子” ,但是它不适用于H2OFrame对象,例如: 产生以下错误信息: 如果我尝试强制将因素一一列举,那是可行的。 另一个解决方法是首先强制data.frame作为因子,然后将其转换为H2OFrame对象,例如: 为什么会
2回复

将列表列表转换为字符向量

我有一个字符列表列表。 例如: 因此,您可以看到一些元素是长度> 1的列表。 我想将此列表列表转换为字符向量,但我希望长度> 1的列表在字符向量中显示为单个元素。 unlist函数没有实现,而是: 还有什么比: 为了得到我想要的结果:
1回复

将列表列表转换为强制数据帧

列表x列表如下生成: x具有以下结构: 我正在尝试将其转换为强制数据帧。 我第一次用 我收到以下错误 实际上它只能用as.character作为参数。 我的目标是使用以下结构访问数据框:
3回复

将列表列转换为字符串列

我的数据由一个标识符 (srdr_id) 和一个列表列组成。 我想将结果中的每个 tibble 转换为一个逗号分隔的字符串。
2回复

如何将列表列表转换为列表数组?

我在R中有一个列表列表。我想将它转换为列表数组,但我只得到一个列表列表数组: 如您所见, x[1,1] (例如)现在是列表列表,但“外部”列表是无用的。 我宁愿有一个数组y , y[i,j]是x[i,j][[1]] 。 获得此功能的最佳方式是什么(使用base-R中的函数(无附加软件包)
2回复

r将列表列转换为字符向量,其中列表是字符

我正在尝试将列表转换为单个字符值,或者基本上是从此开始: 对此:
1回复

如何将列表列表转换为数据框以进行导出?

我已经生成了一个包含人工审核数据的列表列表。 子列表是文本和数字数据的组合,但是它们都被 R 视为字符数据。每个子列表包含不同数量的值。 例如 可能会回来 尽管 可能会回来 我的列表列表中有 359 个子列表,我想将它们全部导出到 excel 以供人工审核。 我遇到的问题是将我的列表列表转换为我可以
1回复

如何将其转换为R中的“列表列表”

我想从以下输出更改格式: 类似于: 任何帮助,将不胜感激!