根据列中的字符值删除数据框中的重复行之一

哈康卡斯

给定特定条件,我有一个包含一些重复项的数据框,我想将其删除。

我有一列(column_A),其中包含分析结果。我的数据框中的某些 ID 有两个结果,这就是 ID 重复发生的原因。我想保留column_A ==“analysisB”的行,如果“id_no”中的ID在column_A中同时具有“analysisA”和“analysisB”,否则不要删除一行。

(请注意,我正在运行的原始数据框有多个其他字符和数字列)

虚拟数据:

structure(list(id_no = structure(c(1L, 2L, 2L, 3L, 4L, 4L), .Label = c("A", 
"B", "C", "D"), class = "factor"), column_A = structure(c(1L, 
1L, 2L, 2L, 1L, 2L), .Label = c("analysisA", "analysisB"), class = "factor")), .Names = c("id_no", 
"column_A"), row.names = c(NA, -6L), class = "data.frame")

看起来像这样:

id_no    column_A
A        analysisA
B        analysisA
B        analysisB
C        analysisB
D        analysisA
D        analysisB

预期输出:

id_no    column_A
A        analysisA
B        analysisB
C        analysisB
D        analysisB

有没有办法用 dplyr 做到这一点?我没有让它与 filter() 的条件过滤一起正常工作。

史蒂夫·兰斯福德

这会做吗?

data.df%>%
group_by(id_no)%>%
mutate(analysis_count=1:n(),singleton=n()==1)%>%
ungroup()%>%
filter(singleton|analysis_count==2)%>%
select(-analysis_count, -singleton)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据多个先前行/列中的值删除数据框中的行

删除数据框中每一行列中字符串中的重复单词

如何根据数据框中的相似行(字符串)删除数据框的某些行

如何在保留Pandas中其余行的同时删除数据框中的重复值?

删除数据框中具有重复值的行

R:删除数据框中重复的行,该数据框中的第二列包含一个值

根据列值在列表中删除数据框

如何根据特定条件在熊猫中删除数据框中的重复行

如何删除数据框中的行并根据匹配的字符值对数字值求和

根据列中的值从熊猫数据框中删除行

Python根据重复值从HTML文件中删除数据

根据具有列表值的多列删除数据框中的重复行

根据列值删除数组中的重复项

删除数据框中缺少值的重复值

删除数据框中字符列的前 N 行

根据其中一列中的子字符串删除数据帧的行

根据列值删除数据框行

根据另一列中的值删除数据框中的前 2 行

根据列删除数据框中的行重复项

根据另一个数据框中的值删除数据框中的行

如何从熊猫数据框中的列中的每一行中删除重复值

根据另一个数据框中的多列删除数据框中的行

如何根据具有字符串值的列从数据框中删除重复项

根据另一列中的条件删除数据框中的某些行

根据特定列中的指定字符串删除数据框中的行

删除数据框中重复字符的行

删除数据框中两列中重复的对象

我需要删除数据框中两列中任何一列中缺失值的所有行

根据下一个列值不是给定列表中的值删除数据框中的列