这是我的示例数据帧

example = data.frame(group = c("A", "B", "A", "A"), word = c("car", "sun ,sun, house", "car, house", "tree"))

我只想在组内和通过组获得唯一的单词

所以我想要这个

group   word
A       car, tree
B       sun

我用了聚合体,得到了这个

aggregate(word ~ group , data = example,  FUN = paste0) 

  group                  word
1     A car, car, house, tree
2     B       sun ,sun, house

但是现在我只需要 Select 唯一的值,但即使这样也不行

for (i in 1:nrow(cluster)) {cluster[i, ][["word"]] = lapply(unlist(cluster[i, ][["word"]]), unique)}

具有

Error in `[[<-.data.frame`(`*tmp*`, "word", value = list("car", "car, house",  : 
  replacement has 3 rows, data has 1

推荐答案

使用aggregate+subset+ave的基本R选项,如下所示

with(
  aggregate(
    word ~ .,
    example,
    function(x) {
      unlist(strsplit(x, "[, ]+"))
    }
  ),
  aggregate(
    . ~ ind,
    subset(
      unique(stack(setNames(word, group))),
      ave(seq_along(ind), values, FUN = length) == 1
    ),
    c
  )
)

赠送

  ind    values
1   A car, tree
2   B       sun

R相关问答推荐

从R中的地址提取街道名称

使用facet_wrap()时如何将面板标题转换为脚注?

带有叠加饼图系列的Highmap

如何在RMarkdown LaTex PDF输出中包含英语和阿拉伯语?

获取列中值更改的行号

在某些栏和某些条件下,替换dfs列表中的NA

根据文本字符串中的值粘贴新列

为了网络分析目的,将数据框转换为长格式列联表

R Read.table函数无法对制表符分隔的数据正常工作

R中有约束的优化问题:如何用复数和对数效益函数解决问题?

TreeNode打印 twig 并为其上色

汇总数据的Sheffe检验的P值(平均值和标准差)

R如何计算现有行的总和以添加新的数据行

如何平滑或忽略R中变量的微小变化?

如何将一个方阵分解成没有循环的立方体

防止在更新SHINY中的Reactive Value的部分内容时触发依赖事件

解析嵌套程度极高的地理数据

使用来自嵌套列和非嵌套列的输入的PURRR:MAP和dplyr::Mariate

SHILINY中DT列的条件着色

如何在条形图中的x和填充变量中包含多个响应变量?