使用数据帧中指定范围的列中的NAs删除所有行,同时为其余列保留NA

时间:2018-04-16 17:31:39

标签: r

我有一个包含84个观测值和67个变量的数据框。 我想在列1-18中删除所有带有NA的行,同时仍然在19-67列中保留所有具有NA的行。我怎样才能做到这一点?

提前致谢!

1 个答案:

答案 0 :(得分:0)

你想要

df[apply(df, 1, function(x) !any(is.na(x[1:18]))), ]

快速解释:

apply(df, 1, function(x) !any(is.na(x[1:18])))仅会在函数中指定范围FALSE的行中返回NA(在本例中为1:18)。然后,您进行常规过滤,即df[filter, ],其中filter是上述apply的输出。