gpt4 book ai didi

r - 查找并删除 R 中两列中的重复观察值

转载 作者:行者123 更新时间:2023-12-02 09:05:16 24 4
gpt4 key购买 nike

我有一个像这样的示例数据集:


df1 <- data.frame(c1=c('a','b','c','d','e','f','g', 'h'),
c2=c('l','m','a','g','e','q','a','d'))

我只想要一个删除 c1 和 c2 之间重复项的数据框。我已经知道如何从 c1 和 c2 中获取独特的元素,但是之后我该怎么做才能得到如下所示的结果:

data.frame(c1=c(b,c,f,h),c2=c(l,m,q,NA))

最佳答案

一个选项是使用 Reduce 获取相交元素,使用 %in% 从每列中删除这些元素!,然后在末尾填充 NA

v1 <- Reduce(intersect, df1)
lst1 <- lapply(df1, function(x) x[!x %in% v1])
data.frame(lapply(lst1, `length<-`, max(lengths(lst1))))
# c1 c2
#1 b l
#2 c m
#3 f q
#4 h <NA>

数据

df1 <- data.frame(c1=c('a','b','c','d','e','f','g', 'h'),
c2=c('l','m','a','g','e','q','a','d'))

关于r - 查找并删除 R 中两列中的重复观察值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59382184/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com