如何對R資料框進行子集選擇,以便在分組列的特定類別中,數值列大於某個特定值?


子集選擇是一種常用的技術,它根據分析的目標服務於許多不同的目的。如果需要對資料框進行子集選擇,以便在分組列的特定類別中,數值列大於某個特定值,則需要遵循以下步驟:

  • 建立資料框。
  • 藉助 dplyr 包的 filter 函式對資料框進行子集選擇。

建立資料框

讓我們建立一個如下所示的資料框:

 即時演示

x<-rnorm(20,10,0.25)
Gender<-sample(c("Male","Female"),20,replace=TRUE)
df<-data.frame(x,Gender)
df

執行上述指令碼後,將生成以下輸出(由於隨機化,此輸出在您的系統上會有所不同):

       x    Gender
1 9.401786  Male
2 10.219677 Male
3 10.126467 Male
4 10.260641 Male
5 10.685478 Male
6 10.006628 Male
7 9.912915  Male
8 10.206531 Male
9 10.366212 Female
10 9.746924 Male
11 10.092994 Male
12 10.291531 Male
13 10.398257 Male
14 9.441365  Male
15 9.479788  Male
16 9.670627  Female
17 10.249913 Female
18 9.718280  Male
19 10.007886 Male
20 9.976768 Male

對資料框進行子集選擇

載入 dplyr 包,並在 Gender 為 Male 且 x 大於 10 的情況下對 df 進行子集選擇:

library(dplyr)
x<-rnorm(20,10,0.25)
Gender<-sample(c("Male","Female"),20,replace=TRUE)
df<-data.frame(x,Gender)
df %>% filter(x>10,Gender=="Male")

輸出

      x    Gender
1 10.21968 Male
2 10.12647 Male
3 10.26064 Male
4 10.68548 Male
5 10.00663 Male
6 10.20653 Male
7 10.09299 Male
8 10.29153 Male
9 10.39826 Male
10 10.00789 Male

更新於: 2021年8月13日

307 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.