【问题标题】:Remove duplicates from lists within a vector in R从R中向量内的列表中删除重复项
【发布时间】:2020-04-27 13:50:33
【问题描述】:

我有一个类似于以下示例的列表向量:

library(tidyverse)

z <- tribble(
  ~x,
  c(10, 10, 64),
  c(22, 22),
  c(5, 9, 9),
  c(55, 55),
  c(76, 65)
)

我正在尝试减少每个列表以仅包含具有唯一值的案例。这是我正在寻找的输出:

y <- tribble(
  ~x,
  c(10, 64),
  c(22),
  c(5, 9),
  c(55),
  c(76, 65)
)

当然,我不能发布实际输出,而必须将其作为本示例的新数据集写出来,否则它看起来像这样:

# A tibble: 5 x 1
  x        
  <list>   
1 <dbl [3]>
2 <dbl [2]>
3 <dbl [3]>
4 <dbl [2]>
5 <dbl [2]>

【问题讨论】:

    标签: r list tidyverse


    【解决方案1】:

    我们可以用map循环list并应用unique

    library(dplyr)
    library(purrr)
    z %>% 
       mutate(x = map(x, unique))
    

    base R 中是

    z$x <- lapply(z$x, unique)
    

    【讨论】:

      猜你喜欢
      • 2015-09-30
      • 1970-01-01
      • 1970-01-01
      • 2015-09-01
      • 2014-09-30
      • 2021-04-02
      • 2016-01-28
      相关资源
      最近更新 更多