如果最后一个值为NA,我想删除R数据框中的列。
示例数据框位于
之下A B C D
11 10 19 20
22 20 29 40
33 30 39 60
44 NA NA 80
我想获得以下输出(B和C列被删除,因为它们在最后一行中有NA值)
A D
11 20
22 40
33 60
44 80
尝试但无法获得任何解决方案。感谢您的帮助。
答案 0 :(得分:3)
# Data
df <- read.table(text="A B C D
11 10 19 20
22 20 29 40
33 30 39 60
44 NA NA 80", header=TRUE)
df[-which(is.na(df[nrow(df), ]))]
A D
1 11 20
2 22 40
3 33 60
4 44 80
# Suggestion from @alistaire
df[, !is.na(df[nrow(df), ])]
答案 1 :(得分:0)
na.omit()函数删除任何缺少数据的行。 pp&lt; - data.frame(po = c(10,20,30,40,NA),pi = c(45,65,75,55,85)) PP na.omit(pp) - 删除整行
na.delete(pp [“po”])---用“NA”删除整个列。