如何删除R中至少包含一个0的行?
要删除至少包含一个 0 的行,我们可以使用单个方括号对行进行子集化, apply 将选择不包含一个零的行。例如,如果我们有一个名为 df 的数据框,那么我们可以使用命令 df[apply(df,1, function(x)all(x!=0)),]来删除包含至少一个 0 的行。
示例
考虑以下数据框 -
x1<-rpois(20,1)输出结果x2<-rpois(20,5)
x3<-rpois(20,5)
df1<-data.frame(x1,x2,x3)
df1
x1 x2 x31 0 5 5
2 1 8 2
3 0 4 8
4 1 4 3
5 1 4 5
6 1 5 3
7 2 11 8
8 1 3 8
9 1 4 4
10 1 7 4
11 0 9 5
12 3 4 1
13 0 6 2
14 0 4 7
15 0 6 5
16 1 6 8
17 1 6 3
18 1 5 4
19 2 3 1
20 0 1 4
删除不包含至少一个 0 的 df1 行 -
示例
df1[apply(df1,1, function(x) all(x!=0)),]输出结果
x1 x2 x32 1 8 2
4 1 4 3
5 1 4 5
6 1 5 3
7 2 11 8
8 1 3 8
9 1 4 4
10 1 7 4
12 3 4 1
16 1 6 8
17 1 6 3
18 1 5 4
19 2 3 1
示例
y1<-sample(0:2,20,replace=TRUE)输出结果y2<-sample(1:5,20,replace=TRUE)
y3<-sample(1:10,20,replace=TRUE)
df2<-data.frame(y1,y2,y3)
df2
y1 y2 y31 0 2 6
2 2 3 6
3 1 5 8
4 2 3 1
5 1 5 5
6 0 2 4
7 1 2 10
8 1 5 8
9 1 5 5
10 0 2 6
11 1 4 4
12 0 2 3
13 0 1 2
14 0 3 8
15 1 4 4
16 0 4 3
17 2 5 3
18 0 3 7
19 2 4 1
20 0 3 2
删除不包含至少一个 0 的 df2 行 -
示例
df2[apply(df2,1, function(x) all(x!=0)),]输出结果
y1 y2 y32 2 3 6
3 1 5 8
4 2 3 1
5 1 5 5
7 1 2 10
8 1 5 8
9 1 5 5
11 1 4 4
15 1 4 4
17 2 5 3
19 2 4 1
以上是 如何删除R中至少包含一个0的行? 的全部内容, 来源链接: utcz.com/z/361598.html