假设我有这个DF
:
Group.1 Abstract Advisor
1 ANHEMBI TRUE,FALSE TRUE
2 BNDES TRUE,FALSE FALSE
3 CDTN TRUE TRUE
4 CPRM TRUE TRUE
5 EBM TRUE TRUE
6 ENAP FALSE TRUE,FALSE
当我尝试编写.csv文件时,由于某些观察结果是lists
,它会返回错误。
例如,我如何将这些值连接起来,使它像这样:
Group.1 Abstract Advisor
1 ANHEMBI TRUE|FALSE TRUE
2 BNDES TRUE|FALSE FALSE
3 CDTN TRUE TRUE
4 CPRM TRUE TRUE
5 EBM TRUE TRUE
6 ENAP FALSE TRUE|FALSE
我可以编写.csv文件。
我在其他数据中也做了类似的技巧,但是我只使用以下代码对一列进行了处理:
for(i in 1:length(df[,1])){
if(is.list(df[i,9])){
df[i,9]=paste(unlist(df[i,9]),collapse="|")
}
}
如何为所有列做到这一点? (我的DF已超过20)
我也想知道这是否是将列表导出到数据框的最佳方法,或者还有其他建议...
答案 0 :(得分:1)
我们可以使用dplyr
library(dplyr)
DF %>%
mutate_at(2:3, funs(str_replace(., ",", "|")))
如果列为list
library(purrr)
DF %>%
mutate_at(2:3, funs(map_chr(., ~ paste(.x, collapse="|"))))