R 如何将字符列强制为列表列
我正在尝试绑定数据帧行。我在聚合后生成了一些带有列表列的数据帧,但有些是字符。我找不到办法把它们绑起来。我尝试使用R 如何将字符列强制为列表列,r,R,我正在尝试绑定数据帧行。我在聚合后生成了一些带有列表列的数据帧,但有些是字符。我找不到办法把它们绑起来。我尝试使用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 <- d
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
库(dplyr)
df1我不太了解dplyr
库,但是使用下面的base Rrbind()
似乎很有效:
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"
我不太了解dplyr
库,但是使用下面的base Rrbind()
似乎很有效:
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"
您可以使用rbind(df2,df1)
-注意,它将把“b”列变成一个列表。目前,df1
有一个数字列和列表列,df2
有一个数字列和字符列。您可以使用rbind(df2,df1)
-注意它会将“b”列变成列表。当前,df1
具有数字和列表列,df2
具有数字和字符列。是。这很有效。我一直在使用dplyr::bind_行,因为数据帧很乱,有些数据帧缺少一些列。你知道如何使用bind_行进行此操作吗?也许gtools::smartbind…@Eric您能试试我对bind\u行的建议吗
,并告诉我它是否有效。如果没有,也许其他人会直接帮你解决。是的。这很有效。我一直在使用dplyr::bind_行,因为数据帧很乱,有些数据帧缺少一些列。你知道如何使用bind_行进行此操作吗?也许gtools::smartbind…@Eric您能试试我对bind\u行的建议吗
,并告诉我它是否有效。如果没有,也许其他人会直接帮你解决。