如何在 R 資料框中查詢 ID 對應的頻率?
為了在 R 資料框中查詢 ID 對應的頻率,我們可以在定義 ID 後使用 dplyr 包的 summarise 函式,並使用 group_by 函式,同時將我們想要查詢頻率的列也放在 group_by 函式內部。
檢視下面的示例以瞭解如何操作。
示例 1
以下程式碼片段建立了一個示例資料框 -
ID<-sample(1:4,20,replace=TRUE) Sales<-sample(1:10,20,replace=TRUE) df1<-data.frame(ID,Sales) df1
建立了以下資料框 -
ID Sales 1 4 4 2 1 3 3 4 9 4 4 8 5 2 6 6 1 9 7 2 8 8 1 8 9 1 6 10 1 1 11 4 6 12 2 9 13 2 10 14 2 6 15 3 2 16 3 9 17 4 6 18 1 8 19 2 10 20 2 1
要載入 dplyr 包並在 df1 中建立 ID 對應的頻率列,請將以下程式碼新增到上述程式碼片段中 -
library(dplyr) df1%>%group_by(ID,Sales)%>%summarise(Frequency=n()) `summarise()` regrouping output by 'ID' (override with `.groups` argument) # A tibble: 16 x 3 # Groups: ID [4]
輸出
如果您將以上所有程式碼片段作為單個程式執行,則會生成以下輸出 -
ID Sales Frequency <int> <int> <int> 1 1 1 1 2 1 3 1 3 1 6 1 4 1 8 2 5 1 9 1 6 2 1 1 7 2 6 2 8 2 8 1 9 2 9 1 10 2 10 2 11 3 2 1 12 3 9 1 13 4 4 1 14 4 6 2 15 4 8 1 16 4 9 1
示例 2
以下程式碼片段建立了一個示例資料框 -
ID<-sample(0:2,20,replace=TRUE)
Group<-sample(c("I","II","III"),20,replace=TRUE)
df2<-data.frame(ID,Group)
df2建立了以下資料框 -
ID Group 1 2 III 2 0 I 3 0 I 4 0 I 5 2 III 6 0 II 7 2 II 8 2 II 9 1 III 10 2 I 11 1 II 12 1 I 13 1 I 14 1 I 15 2 II 16 0 II 17 1 I 18 2 I 19 2 I 20 0 III
要在 df2 中建立 ID 對應的頻率列,請將以下程式碼新增到上述程式碼片段中 -
df2%>%group_by(ID,Group)%>%summarise(Frequency=n()) `summarise()` regrouping output by 'ID' (override with `.groups` argument) # A tibble: 9 x 3 # Groups: ID [3]
輸出
如果您將以上所有程式碼片段作為單個程式執行,則會生成以下輸出 -
ID Group Frequency <int><chr> <int> 1 0 I 3 2 0 II 2 3 0 III 1 4 1 I 4 5 1 II 1 6 1 III 1 7 2 I 3 8 2 II 3 9 2 III 2
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP