Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何将字符列强制为列表列_R - Fatal编程技术网

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 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"

我不太了解
dplyr
库,但是使用下面的base 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"

您可以使用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行的建议吗
,并告诉我它是否有效。如果没有,也许其他人会直接帮你解决。