如何在 R 資料框中根據單個組值查詢平均值?
為了根據 R 資料框中的單個組值查詢平均值,我們可以使用 mean 函式並透過單個方括號進行子集化。
例如,如果我們有一個名為 df 的資料框,其中包含一個分類列(例如 C),該列具有三個組 Low、Medium、High 和一個數值列(例如 Num),則可以透過使用以下命令找到 Num 的 Medium 組的平均值:
mean(df$C[df$Num=="Medium"])
示例 1
以下程式碼段建立了一個示例資料框:
Group<-sample(LETTERS[1:4],20,replace=TRUE) Score<-rpois(20,5) df1<-data.frame(Group,Score) df1
建立了以下資料框:
Group Score 1 D 7 2 D 6 3 D 3 4 B 5 5 C 7 6 A 2 7 D 7 8 D 5 9 C 1 10 C 6 11 C 9 12 D 3 13 C 6 14 B 8 15 C 2 16 B 6 17 D 7 18 C 8 19 A 12 20 B 3
要獲取 A 組的 Score 平均值,請將以下程式碼新增到上面的程式碼段中:
Group<-sample(LETTERS[1:4],20,replace=TRUE) Score<-rpois(20,5) df1<-data.frame(Group,Score) mean(df1$Score[df1$Group=="A"])
輸出
如果將以上所有程式碼段作為單個程式執行,則會生成以下輸出:
[1] 7
示例 2
以下程式碼段建立了一個示例資料框:
Class<-sample(c("I","II","III"),20,replace=TRUE)
Price<-sample(10:20,20,replace=TRUE)
df2<-data.frame(Class,Price)
df2建立了以下資料框:
Class Price 1 II 19 2 I 15 3 I 14 4 I 19 5 III 13 6 I 17 7 III 12 8 I 10 9 II 18 10 II 11 11 II 13 12 I 11 13 II 12 14 III 11 15 II 13 16 II 15 17 III 10 18 I 17 19 III 18 20 I 14
要獲取 Class I 的 Price 平均值,請將以下程式碼新增到上面的程式碼段中:
Class<-sample(c("I","II","III"),20,replace=TRUE)
Price<-sample(10:20,20,replace=TRUE)
df2<-data.frame(Class,Price)
mean(df2$Price[df2$Class=="I"])輸出
如果將以上所有程式碼段作為單個程式執行,則會生成以下輸出:
[1] 14.625
示例 3
以下程式碼段建立了一個示例資料框:
Category<-sample(c("First","Second","Third","Fourth"),20,replace=TRUE)
Sales<-sample(10:50,20)
df3<-data.frame(Category,Sales)
df3建立了以下資料框:
Category Sales 1 First 49 2 Fourth 43 3 Second 44 4 Third 35 5 Fourth 21 6 Third 50 7 First 45 8 Fourth 15 9 Second 20 10 First 11 11 First 17 12 Fourth 37 13 Third 48 14 Second 32 15 Fourth 10 16 Fourth 38 17 First 40 18 First 22 19 Second 25 20 First 47
要獲取 First 組的 Sales 平均值,請將以下程式碼新增到上面的程式碼段中:
Category<-sample(c("First","Second","Third","Fourth"),20,replace=TRUE)
Sales<-sample(10:50,20)
df3<-data.frame(Category,Sales)
mean(df3$Sales[df3$Category=="First"])輸出
如果將以上所有程式碼段作為單個程式執行,則會生成以下輸出:
[1] 33
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP