如何找到R数据帧中每行NA值的频率?
由于列表示变量,因此我们经常会在数据框的列中找到缺失值,但我们可能还希望找到案例的缺失值(NA),以便我们可以根据案例特征而不是变量的分布来替换它们。在R中,我们可以将rowSums与apply函数一起使用。
示例
请看以下数据帧-
set.seed(8)x1<-sample(c(NA,1,2),20,replace=TRUE)
x2<-sample(c(NA,5,10),20,replace=TRUE)
df1<-data.frame(x1,x2)
df1
输出结果
x1 x21 2 10
2 1 10
3 2 5
4 2 10
5 1 5
6 2 NA
7 1 5
8 NA 10
9 NA 10
10 1 5
11 2 NA
12 2 5
13 1 NA
14 1 5
15 2 5
16 1 NA
17 NA 5
18 NA 10
19 1 5
20 2 5
在数据帧df1的行中找到NA值的频率-
示例
df1$NA_frequency<-rowSums(apply(is.na(df1),2,as.numeric))df1
输出结果
x1 x2 NA_frequency1 2 10 0
2 1 10 0
3 2 5 0
4 2 10 0
5 1 5 0
6 2 NA 1
7 1 5 0
8 NA 10 1
9 NA 10 1
10 1 5 0
11 2 NA 1
12 2 5 0
13 1 NA 1
14 1 5 0
15 2 5 0
16 1 NA 1
17 NA 5 1
18 NA 10 1
19 1 5 0
20 2 5 0
让我们看另一个例子-
示例
y1<-sample(c(NA,1),20,replace=TRUE)y2<-sample(c(NA,400),20,replace=TRUE)
y3<-sample(c(NA,35),20,replace=TRUE)
y4<-sample(c(NA,127),20,replace=TRUE)
df2<-data.frame(y1,y2,y3,y4)
df2
输出结果
y1 y2 y3 y41 NA NA 35 127
2 1 NA NA NA
3 1 400 35 127
4 1 NA 35 127
5 1 NA 35 127
6 NA 400 NA NA
7 1 400 NA NA
8 1 NA 35 127
9 1 400 NA 127
10 NA 400 35 127
11 NA NA 35 NA
12 NA NA NA NA
13 NA NA 35 NA
14 1 400 35 NA
15 1 NA 35 NA
16 NA 400 35 NA
17 1 NA 35 NA
18 NA 400 35 127
19 NA 400 NA NA
20 1 NA NA 127
在数据帧df2的行中找到NA值的频率-
示例
df2$NA_frequency<-rowSums(apply(is.na(df2),2,as.numeric))df2
输出结果
y1 y2 y3 y4 NA_frequency1 NA NA 35 127 2
2 1 NA NA NA 3
3 1 400 35 127 0
4 1 NA 35 127 1
5 1 NA 35 127 1
6 NA 400 NA NA 3
7 1 400 NA NA 2
8 1 NA 35 127 1
9 1 400 NA 127 1
10 NA 400 35 127 1
11 NA NA 35 NA 3
12 NA NA NA NA 4
13 NA NA 35 NA 3
14 1 400 35 NA 1
15 1 NA 35 NA 2
16 NA 400 35 NA 2
17 1 NA 35 NA 2
18 NA 400 35 127 1
19 NA 400 NA NA 3
20 1 NA NA 127 2
以上是 如何找到R数据帧中每行NA值的频率? 的全部内容, 来源链接: utcz.com/z/334820.html