如何用条件行值分割R中的数据帧?
数据帧的拆分主要是为了比较数据帧的不同部分而进行的,但是此拆分是基于某种条件的,并且该条件也可以是行值。例如,如果我们有一个数据框df,其中一列代表分类数据,则可以通过使用子集函数来完成基于类别的拆分,如以下示例所示。
例1
请看以下数据帧:
> Country<-rep(c("India","China","Russia","Sudan"),5)
> Ratings<-sample(1:5,20,replace=TRUE)
> df1<-data.frame(Country,Ratings)
> df1输出结果
Country Ratings 1 India 1 2 China 2 3 Russia 5 4 Sudan 3 5 India 5 6 China 5 7 Russia 5 8 Sudan 5 9 India 2 10 China 1 11 Russia 5 12 Sudan 4 13 India 3 14 China 1 15 Russia 1 16 Sudan 2 17 India 3 18 China 4 19 Russia 5 20 Sudan 2
为组(印度,中国,俄罗斯和苏丹)划分df1:
示例
> C1<-subset(df1,Country %in% c("India","China"))
> C1输出结果
Country Ratings 1 India 1 2 China 2 5 India 5 6 China 5 9 India 2 10 China 1 13 India 3 14 China 1 17 India 3 18 China 4
示例
> C2<-subset(df1,Country %in% c("Russia"))
> C2输出结果
Country Ratings 3 Russia 5 7 Russia 5 11 Russia 5 15 Russia 1 19 Russia 5
示例
> C3<-subset(df1,Country %in% c("Sudan"))
> C3输出结果
Country Ratings 4 Sudan 3 8 Sudan 5 12 Sudan 4 16 Sudan 2 20 Sudan 2
例2
请看以下数据帧:
> Season<-sample(c("Summer","Spring","Winter"),20,replace=TRUE)
> Rain<-sample(c("Yes","No"),20,replace=TRUE)
> df2<-data.frame(Season,Rain)
> df2输出结果
Season Rain 1 Spring Yes 2 Winter Yes 3 Spring Yes 4 Spring No 5 Winter No 6 Summer No 7 Summer No 8 Winter Yes 9 Winter Yes 10 Winter Yes 11 Summer Yes 12 Summer Yes 13 Summer Yes 14 Summer No 15 Winter No 16 Spring No 17 Summer Yes 18 Spring Yes 19 Winter No 20 Winter No
分别为冬季,夏季和春季拆分df2:
示例
> S1<-subset(df2,Season %in% c("Winter"))
> S1输出结果
Season Rain 2 Winter Yes 5 Winter No 8 Winter Yes 9 Winter Yes 10 Winter Yes 15 Winter No 19 Winter No 20 Winter No
示例
> S2<-subset(df2,Season %in% c("Summer"))
> S2输出结果
Season Rain 6 Summer No 7 Summer No 11 Summer Yes 12 Summer Yes 13 Summer Yes 14 Summer No 17 Summer Yes
示例
> S3<-subset(df2,Season %in% c("Spring"))
> S3输出结果
Season Rain 1 Spring Yes 3 Spring Yes 4 Spring No 16 Spring No 18 Spring Yes
热门推荐
10 毛笔哥哥结婚祝福语简短
11 向国庆送祝福语简短
12 建队节祝福语简短
13 朋友喜得外孙简短祝福语
14 小店营业的祝福语简短
15 餐饮生日祝福语简短独特
16 鲜花英语祝福语卡片简短
17 男朋友暴富祝福语简短
18 婶婶拜年祝福语大全简短