如何根据R数据框中的特定列删除包含缺失值的行?
如果我们要删除基于特定列的包含缺失值的行,则应通过忽略缺失值来选择该列。这可以通过使用is.na函数来完成。例如,如果我们有一个包含第x,y,z列的数据帧df,并且每个列都有一些缺失值,则可以将没有缺失值的x行选择为df[!is.na(df$x),]。
示例
请看以下数据帧-
x1<−sample(c(NA,1,2,3,4),20,replace=TRUE) x2<−sample(c(NA,5,10),20,replace=TRUE) x3<−sample(c(NA,3,12,21,30),20,replace=TRUE) x4<−sample(c(NA,54,65),20,replace=TRUE) x5<−sample(c(NA,101,125,111),20,replace=TRUE) x6<−sample(c(NA,500),20,replace=TRUE) df<−data.frame(x1,x2,x3,x4,x5,x6) df
输出结果
x1 x2 x3 x4 x5 x6 1 4 10 21 54 NA NA 2 4 NA 21 65 NA 500 3 NA 5 NA NA 101 NA 4 3 5 NA NA NA NA 5 1 5 21 65 101 NA 6 NA 10 NA 65 111 500 7 2 NA NA NA NA NA 8 NA 5 NA NA 125 500 9 4 10 NA 54 NA NA 10 1 NA 12 NA 101 NA 11 4 NA 12 NA 101 NA 12 3 5 NA 65 111 NA 13 4 10 30 54 101 500 14 4 5 30 54 111 NA 15 3 5 NA 65 111 NA 16 1 NA 30 65 125 NA 17 1 5 3 65 125 500 18 3 5 NA NA 125 NA 19 NA NA 12 65 101 500 20 2 NA 21 54 111 NA
选择不包含缺失值的x1行-
示例
df[!is.na(df$x1),]
输出结果
x1 x2 x3 x4 x5 x6 1 4 10 21 54 NA NA 2 4 NA 21 65 NA 500 4 3 5 NA NA NA NA 5 1 5 21 65 101 NA 7 2 NA NA NA NA NA 9 4 10 NA 54 NA NA 10 1 NA 12 NA 101 NA 11 4 NA 12 NA 101 NA 12 3 5 NA 65 111 NA 13 4 10 30 54 101 500 14 4 5 30 54 111 NA 15 3 5 NA 65 111 NA 16 1 NA 30 65 125 NA 17 1 5 3 65 125 500 18 3 5 NA NA 125 NA 20 2 NA 21 54 111 NA
选择不包含缺失值的x2行-
示例
df[!is.na(df$x2),]
输出结果
x1 x2 x3 x4 x5 x6 1 4 10 21 54 NA NA 3 NA 5 NA NA 101 NA 4 3 5 NA NA NA NA 5 1 5 21 65 101 NA 6 NA 10 NA 65 111 500 8 NA 5 NA NA 125 500 9 4 10 NA 54 NA NA 12 3 5 NA 65 111 NA 13 4 10 30 54 101 500 14 4 5 30 54 111 NA 15 3 5 NA 65 111 NA 17 1 5 3 65 125 500 18 3 5 NA NA 125 NA
选择不包含缺失值的x3行-
示例
df[!is.na(df$x3),]
输出结果
x1 x2 x3 x4 x5 x6 1 4 10 21 54 NA NA 2 4 NA 21 65 NA 500 5 1 5 21 65 101 NA 10 1 NA 12 NA 101 NA 11 4 NA 12 NA 101 NA 13 4 10 30 54 101 500 14 4 5 30 54 111 NA 16 1 NA 30 65 125 NA 17 1 5 3 65 125 500 19 NA NA 12 65 101 500 20 2 NA 21 54 111 NA
选择不包含缺失值的x4行-
示例
df[!is.na(df$x4),]
输出结果
x1 x2 x3 x4 x5 x6 1 4 10 21 54 NA NA 2 4 NA 21 65 NA 500 5 1 5 21 65 101 NA 6 NA 10 NA 65 111 500 9 4 10 NA 54 NA NA 12 3 5 NA 65 111 NA 13 4 10 30 54 101 500 14 4 5 30 54 111 NA 15 3 5 NA 65 111 NA 16 1 NA 30 65 125 NA 17 1 5 3 65 125 500 19 NA NA 12 65 101 500 20 2 NA 21 54 111 NA
选择不包含缺失值的x5行-
示例
df[!is.na(df$x5),]
输出结果
x1 x2 x3 x4 x5 x6 3 NA 5 NA NA 101 NA 5 1 5 21 65 101 NA 6 NA 10 NA 65 111 500 8 NA 5 NA NA 125 500 10 1 NA 12 NA 101 NA 11 4 NA 12 NA 101 NA 12 3 5 NA 65 111 NA 13 4 10 30 54 101 500 14 4 5 30 54 111 NA 15 3 5 NA 65 111 NA 16 1 NA 30 65 125 NA 17 1 5 3 65 125 500 18 3 5 NA NA 125 NA 19 NA NA 12 65 101 500 20 2 NA 21 54 111 NA
选择不包含缺失值的x6行-
示例
df[!is.na(df$x6),]
输出结果
x1 x2 x3 x4 x5 x6 2 4 NA 21 65 NA 500 6 NA 10 NA 65 111 500 8 NA 5 NA NA 125 500 13 4 10 30 54 101 500 17 1 5 3 65 125 500 19 NA NA 12 65 101 500
热门推荐
10 弟弟的祝福语简短霸气
11 简短的高考祝福语精选
12 阳历新年祝福语大全 简短
13 祝贺新店开业祝福语简短
14 送给客户的祝福语 简短
15 生日祝福语舅舅 简短独特
16 祝福语简短七夕
17 婚礼仪式祝福语简短
18 新年祝福语长辈简短红包