我有以下数据框:
FID1 FID2 PropIBD
ABC DEF 0.5000
DEF ABC 0.0000
GHI LMO 0.002
LMO GHI 0
L454 9G09 0
如何从此数据框中删除重复/反转且 PropIBD 列为 0 的行?
举个例子,前两行是重复的,因为第一行的 FID1 等于第二行的 FID2,第一行的 FID2 等于第二行的 FID1。因此,我想要以下最终数据框:
FID1 FID2 PropIBD
ABC DEF 0.5000
GHI LMO 0.002
L454 9G09 0
我怎样才能在 R 中做到这一点?
您可以使用
aggregate
+ pmin/pmax
aggregate(
PropIBD ~ .,
transform(
df,
FID1 = pmin(FID1, FID2),
FID2 = pmax(FID1, FID2)
),
max
)
这给出了
FID1 FID2 PropIBD
1 ABC DEF 0.500
2 9G09 L454 0.000
3 GHI LMO 0.002