如何在 R 資料框中根據兩個因素查詢數值列的均值表?
要查詢 R 資料框中基於兩個因素的數值列的均值表,我們可以按照以下步驟操作:
首先,建立一個包含兩個因素和一個數值列的資料框。
然後,使用 tapply 函式根據因素列查詢數值列的均值表。
示例 1
讓我們建立一個如下所示的資料框:
Group1<-sample(c("I","II","III"),25,replace=TRUE)
Group2<-sample(c("Low","Medium","High"),25,replace=TRUE)
Score<-sample(1:100,25)
df<-data.frame(Group1,Group2,Score)
df執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出在您的系統上會有所不同):
輸出
Group1 Group2 Score 1 III Low 3 2 II High 45 3 III Medium 17 4 III Low 50 5 I Medium 40 6 III Low 77 7 II Medium 1 8 I High 73 9 II High 62 10 I High 5 11 II Medium 88 12 I High 98 13 I Medium 60 14 II Low 84 15 III Low 12 16 I Medium 66 17 III Medium 23 18 II High 61 19 I High 15 20 III High 94 21 II Medium 87 22 II Medium 37 23 I Medium 11 24 I High 26 25 I Medium 93
查詢基於兩個因素列的均值表
使用帶均值函式的 tapply 函式根據 Group1 和 Group2 列查詢 Score 列的均值:
Group1<-sample(c("I","II","III"),25,replace=TRUE)
Group2<-sample(c("Low","Medium","High"),25,replace=TRUE)
Score<-sample(1:100,25)
df<-data.frame(Group1,Group2,Score)
tapply(Score,list(df$Group1,df$Group2),mean)輸出
High Low Medium I 43.4 NA 54.00 II 56.0 84.0 53.25 III 94.0 35.5 20.00
示例 2
讓我們建立一個如下所示的資料框:
f1<-sample(c("Male","Female"),25,replace=TRUE)
f2<-sample(c("Slow","Fast"),25,replace=TRUE)
Result<-sample(1:100,25)
dat<-data.frame(f1,f2,Result)
dat執行上述指令碼後,會生成以下輸出(由於隨機化,此輸出在您的系統上會有所不同):
輸出
f1 f2 Result 1 Male Slow 37 2 Male Fast 13 3 Female Fast 87 4 Male Slow 36 5 Male Fast 22 6 Female Fast 86 7 Male Slow 42 8 Female Fast 17 9 Female Slow 46 10 Male Fast 27 11 Female Fast 49 12 Male Slow 24 13 Male Fast 53 14 Male Fast 67 15 Female Fast 28 16 Male Fast 6 17 Female Slow 61 18 Male Slow 90 19 Male Fast 12 20 Male Fast 47 21 Female Fast 9 22 Female Fast 66 23 Male Fast 73 24 Male Slow 14 25 Female Fast 81
查詢基於兩個因素列的均值表
使用帶均值函式的 tapply 函式根據 f1 和 f2 列查詢 Result 列的均值:
f1<-sample(c("Male","Female"),25,replace=TRUE)
f2<-sample(c("Slow","Fast"),25,replace=TRUE)
Result<-sample(1:100,25)
dat<-data.frame(f1,f2,Result)
tapply(Result,list(dat$f1,dat$f2),mean)輸出
Fast Slow Female 52.87500 53.5 Male 35.55556 40.5
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP