如果找到提供的分组值之一并且数值列值大于某个值,如何对 R 数据框进行子集化?
子集是一种常用的技术,根据分析的目的,它可以用于许多不同的目的。如果找到提供的分组值之一,则对数据框进行子集化意味着我们想要在分类列中存在任何分类变量值时进行子集化,并且如果我们想要包含大于值的数字列,那么我们需要遵循以下步骤-
创建数据框。
如果存在任何提供的分类变量值并且数值列值大于某个值,则对数据框进行子集化。
创建数据框
让我们创建一个数据框,如下所示-
例子
x<-rnorm(20) Factor<-sample(c("Male","Female","Unknown"),20,replace=TRUE) df<-data.frame(x,Factor) df
执行时,上述脚本生成以下内容output(thisoutputwillvaryonyoursystemduetorandomization)-
输出
x Factor 1 -0.83268524 Female 2 1.66904204 Male 3 0.26228885 Unknown 4 0.42511920 Male 5 0.67910328 Female 6 -0.82505888 Female 7 -0.06084790 Male 8 0.56949099 Unknown 9 0.79874121 Female 10 -0.09112936 Unknown 11 -1.04839717 Male 12 -1.24128634 Unknown 13 1.51186118 Unknown 14 -0.79498005 Unknown 15 0.18607842 Male 16 -0.60505867 Female 17 1.24925658 Male 18 1.14835757 Male 19 -0.24867122 Female 20 0.59079712 Unknown
对数据框进行子集化
如果因子列中存在男性或女性并且x大于0.5,则加载dplyr包并子集df-
例子
library(dplyr) x<-rnorm(20) Factor<-sample(c("Male","Female","Unknown"),20,replace=TRUE) df<-data.frame(x,Factor) df %>% filter(x>0.5,Factor=="Male"|Factor=="Female")
输出
x Factor 1 1.6690420 Male 2 0.6791033 Female 3 0.7987412 Female 4 1.2492566 Male 5 1.1483576 Male