如何为 R 数据框中的因子级别创建子集?
在数据分析中,我们经常处理因子变量,而这些因子变量有不同的级别。有时,我们想为 R 数据框创建特定因子级别的子集,以只针对因子变量的特定级别分析数据。这可以通过使用 subset 函数轻松完成。
示例
考虑以下数据框−
> 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 有五个级别。现在,假设我们想为这些级别中的每一个级别创建一个 Percentage 子集,那么它可以按如下所示完成−
> 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
广告