The splitting of data frame is mainly done to compare different parts of that data frame but this splitting is based on some condition and this condition can be row values as well. For example, if we have a data frame df where a column represents categorical data then the splitting based on the categories can be done by using subset function as shown in the below examples.
Consider the below data frame:
> 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
Splitting df1 for groups (India-China, Russia, and Sudan):
> 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
Consider the below data frame:
> 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
Splitting df2 for Winter, Summer, and Spring separately:
> 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