如何在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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP