【发布时间】:2021-09-17 19:22:15
【问题描述】:
我需要删除 R 中列表元素中的重复值。
在下面的表示中,这意味着我需要删除 [[4]] 中的第二个“A”。
我曾尝试使用unique(),但此函数会删除整个元素(下面的reprex 中的[[3]])。
我一直找不到任何 SO 问题/答案来解决我的问题。
最小的代表:
df <- data.frame(
a=1:4,
b=I(list("A", "A", c("A", "B"), c("A", "B", "A"))))
# I need to remove the second "A" in [[4]]
df$b
#> [[1]]
#> [1] "A"
#>
#> [[2]]
#> [1] "A"
#>
#> [[3]]
#> [1] "A" "B"
#>
#> [[4]]
#> [1] "A" "B" "A"
# unique does not work because it removes [[3]]
unique(df$b)
#> [[1]]
#> [1] "A"
#>
#> [[2]]
#> [1] "A" "B"
#>
#> [[3]]
#> [1] "A" "B" "A"
由reprex package (v2.0.0) 于 2021-07-07 创建
【问题讨论】: