如何删除R数据帧中包含全零的行?
通常,我们会丢失数据,有时如果零不是变量的实际范围,则丢失的数据会填充零。在这种情况下,我们可以删除所有值为零的行。为此,我们可以使用rowSums函数,如果总和大于零,则保留该行,否则忽略该行。
例1
请看以下数据帧-
set.seed(251)x1<−sample(0:1,20,replace=TRUE)
x2<−sample(0:1,20,replace=TRUE)
df1<−data.frame(x1,x2)
df1
输出结果
x1 x21 0 0
2 0 1
3 0 1
4 1 1
5 1 0
6 0 1
7 1 0
8 1 1
9 1 1
10 0 0
11 0 1
12 1 0
13 1 0
14 1 1
15 0 1
16 1 1
17 1 1
18 1 1
19 1 1
20 0 0
删除全零的行-
df1[rowSums(df1[])>0,]
输出结果
x1 x22 0 1
3 0 1
4 1 1
5 1 0
6 0 1
7 1 0
8 1 1
9 1 1
11 0 1
12 1 0
13 1 0
14 1 1
15 0 1
16 1 1
17 1 1
18 1 1
19 1 1
例2
y1<−sample(c(0,5),20,replace=TRUE)y2<−sample(c(0,2),20,replace=TRUE)
df2<−data.frame(y1,y2)
df2
输出结果
y1 y21 5 0
2 0 2
3 0 2
4 0 0
5 5 2
6 5 0
7 5 0
8 0 2
9 0 2
10 5 0
11 0 0
12 0 0
13 5 0
14 0 0
15 5 2
16 5 0
17 0 0
18 0 2
19 5 2
20 0 0
删除全零的行-
df2[rowSums(df2[])>0,]
输出结果
y1 y21 5 0
2 0 2
3 0 2
5 5 2
6 5 0
7 5 0
8 0 2
9 0 2
10 5 0
13 5 0
15 5 2
16 5 0
18 0 2
19 5 2
例子3
z1<−rep(0,20)z2<−sample(c(0,1),20,replace=TRUE)
df3<−data.frame(z1,z2)
df3
输出结果
z1 z21 0 0
2 0 0
3 0 0
4 0 0
5 0 0
6 0 1
7 0 1
8 0 1
9 0 1
10 0 1
11 0 1
12 0 0
13 0 0
14 0 1
15 0 1
16 0 0
17 0 1
18 0 1
19 0 1
20 0 1
删除全零的行-
df3[rowSums(df3[])>0,]
输出结果
z1 z26 0 1
7 0 1
8 0 1
9 0 1
10 0 1
11 0 1
14 0 1
15 0 1
17 0 1
18 0 1
19 0 1
20 0 1
以上是 如何删除R数据帧中包含全零的行? 的全部内容, 来源链接: utcz.com/z/355621.html