如何用条件行值分割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 简短的祝福语12字