dplyr unnest() 不适用于大逗号分隔的数据

Posted

技术标签:

【中文标题】dplyr unnest() 不适用于大逗号分隔的数据【英文标题】:dplyr unnest() not working for large comma separated data 【发布时间】:2021-10-08 05:25:21 【问题描述】:

尝试使用 dplyr 的 unnest 函数来拆分以逗号分隔的大型字符数据集。数据集的形式为:

id                                     keywords
 835a24fe-c276-9824-0f4d-35fc81319cca  Analytics,Artificial Intelligence,Big Data,Health Care

我想创建一个表,其“id”在第一列,每个“关键字”在具有相同“id”的单独列中

我正在使用代码:

CB_keyword <- tibble(id=organizations$uuid[organizations$uuid %in% org_uuid ] , 
                     keyword=organizations$category_list[organizations$uuid %in% org_uuid]) %>% unnest(keyword, names_sep = ",")

%in% 代码正在从另一个表中选择“id”和“keyword”信息......并且它正在正确执行此操作。到 unnest 的管道似乎什么也没做。 tibble 保持不变,只是列名现在是“keyword,keyword”而不是“keyword”,但数据与未使用 unnest 命令相同。

【问题讨论】:

【参考方案1】:

如果keywords 是字符串列,请使用separate_rows 而不是unnest

library(dplyr)
library(tidyr)
df1 %>%
    separate_rows(keywords, sep=",\\s*")

【讨论】:

这有效..谢谢!

以上是关于dplyr unnest() 不适用于大逗号分隔的数据的主要内容,如果未能解决你的问题,请参考以下文章

R:错误:在 dplyr 中使用 unnest 时长度不兼容

在 Linux 中,不同的 SQL 不适用于 UNNEST

在 Linux 中,不同的 SQL 不适用于 UNNEST

新行分隔符不适用于 group_concat 函数

dplyr 取消引用不适用于过滤器功能

当我在`dplyr`之后加载`plyr`时,为啥汇总或变异不适用于group_by?