如果至少有一个或多个值匹配,如何对 R 数据框行进行子集化?
如果至少有一个或多个值匹配,要对 R 数据框行进行子集化,我们可以按照以下步骤操作 -
首先,创建一个数据框。
然后,如果至少一个或多个值匹配,则使用 rowSums 函数以及 sapply 函数和匹配值对数据框行进行子集化。
示例
创建数据框
让我们创建一个数据框,如下所示 -
x<-rpois(25,5)输出结果y<-rpois(25,5)
z<-rpois(25,5)
df<-data.frame(x,y,z)
df
执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-
x y z1 5 5 2
2 10 5 5
3 3 4 6
4 9 4 12
5 2 4 5
6 3 4 4
7 4 3 9
8 4 5 10
9 5 3 9
10 3 2 2
11 2 8 4
12 4 5 2
13 2 9 2
14 5 2 1
15 6 2 7
16 2 4 7
17 7 5 5
18 3 3 1
19 4 4 7
20 7 4 5
21 4 4 4
22 3 6 2
23 3 2 7
24 1 3 3
25 5 4 4
子集数据框
如果这些值中的至少一个或多个匹配,则使用 rowSums 函数以及 sapply 函数和值 4,5,6,7,8 进行匹配以对数据框行进行子集化 -
x<-rpois(25,5)输出结果y<-rpois(25,5)
z<-rpois(25,5)
df<-data.frame(x,y,z)
df[rowSums(sapply(df[], '%in%', c(4,5,6,7,8)))>0,]
x y z1 5 5 2
2 10 5 5
3 3 4 6
4 9 4 12
5 2 4 5
6 3 4 4
7 4 3 9
8 4 5 10
9 5 3 9
11 2 8 4
12 4 5 2
14 5 2 1
15 6 2 7
16 2 4 7
17 7 5 5
19 4 4 7
20 7 4 5
21 4 4 4
22 3 6 2
23 3 2 7
25 5 4 4
以上是 如果至少有一个或多个值匹配,如何对 R 数据框行进行子集化? 的全部内容, 来源链接: utcz.com/z/338660.html