我有一个数据帧具有例如重复值的行:R返回只有一行的每个值在矢量
id
A
A
A
B
B
C
C
D
D
我想要实现的是,对于每个仅保留一个值的代码行在另一矢量值,例如在:
keeps <- c("A", "C")
结果应该是这样的:
id
A
C
我有一个数据帧具有例如重复值的行:R返回只有一行的每个值在矢量
id
A
A
A
B
B
C
C
D
D
我想要实现的是,对于每个仅保留一个值的代码行在另一矢量值,例如在:
keeps <- c("A", "C")
结果应该是这样的:
id
A
C
试试:
df[df$id %in% c("A", "C") & !duplicated(df$id),,drop = FALSE]
# id
# 1 A
# 6 C
或本:
unique(df[df$id %in% c("A", "C"),,drop = FALSE])
# id
# 1 A
# 6 C
第一个做到了!所以我在df $ id中进行子集化,并保持AND如果df $ id被重复,我没有复制该行......但drop = FALSE会做什么? – gh0strider18 2014-10-16 17:14:57
对于一列数据帧(或矩阵),“drop = FALSE”将使结果保持为一个数据帧,而将结果保留为数据帧将使结果折叠为一个向量。尝试两个并检查差异 – 2014-10-16 17:16:06
你要哪一个的三排和C的两排,以保持?第一个,最后一个,随机? – 2014-10-16 16:53:21
首先会很好,但是对于所有可能的方式都要加分 – gh0strider18 2014-10-16 16:55:48
也许'?unique'? – hrbrmstr 2014-10-16 16:58:15