在数据分析中,我们经常处理因子变量,这些因子变量具有不同的级别。有时,我们希望在R中为特定因子水平创建数据帧的子集,以仅针对该特定水平的因子变量分析数据。这可以通过使用子集函数简单地完成。
请看以下数据帧-
> set.seed(99)
> Factor<-rep(c("India","China","USA","UK","Canada"),times=4)
> Percentage<-sample(1:100,20)
> df<-data.frame(Factor,Percentage)
> df
Factor Percentage
1 India 48
2 China 33
3 USA 44
4 UK 22
5 Canada 62
6 India 32
7 China 13
8 USA 20
9 UK 31
10 Canada 68
11 India 9
12 China 82
13 USA 88
14 UK 30
15 Canada 86
16 India 84
17 China 95
18 USA 14
19 UK 4
20 Canada 78在这里,我们有五个级别的因子变量Factor。现在假设我们要为每个级别创建一个百分比子集,然后可以如下所示进行操作:
> India<-subset(df,Factor=="India") > India Factor Percentage 1 India 48 6 India 32 11 India 9 16 India 84 > UK<-subset(df,Factor=="UK") > UK Factor Percentage 4 UK 22 9 UK 31 14 UK 30 19 UK 4 > China<-subset(df,Factor=="China") > China Factor Percentage 2 China 33 7 China 13 12 China 82 17 China 95 > USA<-subset(df,Factor=="USA") > USA Factor Percentage 3 USA 44 8 USA 20 13 USA 88 18 USA 14 > Canada<-subset(df,Factor=="Canada") > Canada Factor Percentage 5 Canada 62 10 Canada 68 15 Canada 86 20 Canada 78