【发布时间】:2020-10-08 19:08:12
【问题描述】:
之前的许多问题都强调了删除具有缺失值的重复行的各种方法,但是没有一个问题涉及以下情况。起始数据示例:
df <- data.frame(x = c(1, NA, 1), y=c(NA, 1, 1), z=c(0, NA, NA))
print(df)
期望的输出:
df2 <- data.frame(x = c(1, 1), y=c(NA, 1), z=c(0, NA))
print(df2)
在这种情况下,第二行被删除,因为它是第 3 行的完美子集。在实际应用程序中,我想删除包含非缺失列中所有冗余信息的行,并保留整体缺失较少的行.
我认为这可以使用 dplyr 和 distinct() 的逐行应用来完成,但无济于事。我可以用一个非常慢的 for 循环来做到这一点,但是对于数百列和数千行,这是一个糟糕的选择。
【问题讨论】: