簡體   English   中英

從 R 中向量內的列表中刪除重復項

[英]Remove duplicates from lists within a vector in R

我有一個列表向量,如下例所示:

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

我們可以使用map遍歷list並應用unique

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

base R ,它將是

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM