如何删除某个变量具有 NA 的所有行

How can I remove all rows that have NA for a certain variable

我的数据集 ('data') 有 1719 个案例和 6779 个变量。我需要使用变量 'weight' 对数据进行加权,但是 69 个案例中缺少此数据。

如何删除权重列中具有 NA 的行,而不删除其他 6778 列中具有 NA 的变量?

按包含 NA 的列索引行

data[!is.na(data[,"weight"]),]

使用方括号对数据帧进行索引以指定行然后用逗号分隔的列:data[rows, columns]

然后您可以使用 is.na 函数提供一个行向量,前面加上感叹号,使其有效地成为一个 is.NOT.na.

!is.na(data[,"weight"])

来自我的 'useful R commands' 文件....

# drop a row with a NA value in a cell
df <- df[ !is.na(df$variable), ]