如何根据提供的分组值子集R数据框?
子集是常用的技术之一,它根据分析目标具有多种不同的用途。如果找到提供的分组值之一,则子集数据框意味着如果分类变量值存在于分类列中,我们想要进行子集化,为此,我们可以按照以下步骤操作:
- 创建数据框。
- 如果存在分类变量的任何提供值,则对数据框进行子集化。
创建数据框
让我们创建一个如下所示的数据框:
x<-rnorm(20,2) Grp<-sample(LETTERS[1:4],20,replace=TRUE) df<-data.frame(x,Grp) df
执行上述脚本后,将生成以下输出(由于随机化,此输出会在您的系统上有所不同):
x Grp 1 0.3359965 A 2 2.0416162 A 3 0.9818926 A 4 1.4677398 D 5 1.5241767 B 6 1.3522920 A 7 0.1696135 D 8 2.8538156 C 9 1.5310543 C 10 3.8808002 A 11 1.6601963 C 12 0.7691347 A 13 -0.3206033 B 14 3.0502846 A 15 2.7044244 C 16 0.4451980 A 17 0.8252894 C 18 0.8465413 A 19 2.0163445 C 20 1.5913034 C
数据框子集
加载dplyr包,如果Grp列中存在A或C,则对df进行子集化:
library(dplyr) x<-rnorm(20,2) Grp<-sample(LETTERS[1:4],20,replace=TRUE) df<-data.frame(x,Grp) df %>% filter(Grp=="A"|Grp=="C")
输出
x Grp 1 0.3359965 A 2 2.0416162 A 3 0.9818926 A 4 1.3522920 A 5 2.8538156 C 6 1.5310543 C 7 3.8808002 A 8 1.6601963 C 9 0.7691347 A 10 3.0502846 A 11 2.7044244 C 12 0.4451980 A 13 0.8252894 C 14 0.8465413 A 15 2.0163445 C 16 1.5913034 C
广告