如何在 R 資料框中根據列名篩選行值?


為了根據列名篩選 R 資料框中的行值,我們可以按照以下步驟操作:

  • 首先,建立一個數據框。
  • 然後,使用 `sample` 函式建立大小等於資料框行數的列名樣本,並以同樣的方式使用 `seq_len` 函式建立行名,之後使用 `cbind` 函式根據使用 `sample` 函式建立的列名篩選行。

建立資料框

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

 線上演示

Gender_1<-sample(c("Male","Female"),20,replace=TRUE)
Gender_2<-sample(c("Male","Female","Unknown"),20,replace=TRUE)
df<-data.frame(Gender_1,Gender_2)
df

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

  Gender_1 Gender_2
1 Female Female
2 Female Female
3 Male Male
4 Male Male
5 Male Male
6 Male Female
7 Female Male
8 Female Female
9 Male Male
10 Female Male
11 Male Female
12 Female Male
13 Male Female
14 Female Female
15 Female Male
16 Female Female
17 Female Female
18 Female Female
19 Male Unknown
20 Female Female

根據列名篩選行

使用 `sample` 函式建立列名樣本,並以同樣的方式使用 `seq_len` 函式建立行名,之後使用 `cbind` 函式根據使用 `sample` 函式建立的列名篩選行:

 線上演示

Gender_1<-sample(c("Male","Female"),20,replace=TRUE)
Gender_2<-sample(c("Male","Female","Unknown"),20,replace=TRUE)
df<-data.frame(Gender_1,Gender_2)
Columns<-sample(c("Gender_1","Gender_2"),20,replace=TRUE)
rownames(df)<-seq_len(nrow(df))
df[cbind(rownames(df),Columns)]

輸出

[1] "Female" "Female" "Male" "Male" "Male" "Female" "Female" "Female"
[9] "Male" "Female" "Female" "Female" "Male" "Female" "Female" "Female"
[17] "Female" "Female" "Male" "Female"

更新於: 2021年8月13日

501 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.