如何在 R 資料框的行中查詢特定值的頻率?
為了在 R 資料框的行中查詢特定值的頻率,我們可以使用 dplyr 包的 mutate 函式以及 rowSums 函式。
例如,如果我們有一個名為 df 的資料框,那麼我們可以使用以下命令查詢 df 每行中 5 的數量:
df%>%mutate(Number_of_Fives=rowSums(.==1))
示例 1
以下程式碼片段建立了一個示例資料框:
x1<-rpois(20,1) x2<-rpois(20,1) x3<-rpois(20,1) x4<-rpois(20,1) x5<-rpois(20,1) df1<-data.frame(x1,x2,x3,x4,x5) df1
建立了以下資料框:
x1 x2 x3 x4 x5 1 1 0 0 1 1 2 0 0 0 1 2 3 1 2 4 0 0 4 1 2 1 0 3 5 3 3 1 2 2 6 2 2 2 1 3 7 1 0 0 2 0 8 4 3 3 3 0 9 1 1 1 0 0 10 2 1 1 2 1 11 1 2 0 1 0 12 1 2 3 1 1 13 1 1 4 0 2 14 0 1 1 3 2 15 1 0 1 0 1 16 1 3 0 1 2 17 1 0 2 1 1 18 2 0 0 0 1 19 0 1 0 0 0 20 0 0 0 0 0
要載入 dplyr 包並在 df1 的每一行中查詢 1 的數量,請將以下程式碼新增到上述程式碼片段中:
library(dplyr) df1%>%mutate(Number_of_Ones=rowSums(.==1))
輸出
如果您將以上所有程式碼片段作為單個程式執行,則會生成以下輸出:
x1 x2 x3 x4 x5 Number_of_Ones 1 1 0 0 1 1 3 2 0 0 0 1 2 1 3 1 2 4 0 0 1 4 1 2 1 0 3 2 5 3 3 1 2 2 1 6 2 2 2 1 3 1 7 1 0 0 2 0 1 8 4 3 3 3 0 0 9 1 1 1 0 0 3 10 2 1 1 2 1 3 11 1 2 0 1 0 2 12 1 2 3 1 1 3 13 1 1 4 0 2 2 14 0 1 1 3 2 2 15 1 0 1 0 1 3 16 1 3 0 1 2 2 17 1 0 2 1 1 3 18 2 0 0 0 1 1 19 0 1 0 0 0 1 20 0 0 0 0 0 0
示例 2
以下程式碼片段建立了一個示例資料框:
y1<-sample(1:3,20,replace=TRUE) y2<-sample(1:3,20,replace=TRUE) y3<-sample(1:3,20,replace=TRUE) y4<-sample(1:3,20,replace=TRUE) df2<-data.frame(y1,y2,y3,y4) df2
建立了以下資料框:
y1 y2 y3 y4 1 2 1 2 1 2 2 3 1 1 3 3 1 2 2 4 3 1 1 1 5 3 1 3 2 6 2 3 2 2 7 1 3 1 1 8 1 2 1 2 9 1 2 3 3 10 2 3 3 2 11 3 1 1 2 12 3 2 1 1 13 2 2 2 3 14 2 1 2 2 15 1 2 1 2 16 3 3 2 3 17 1 2 3 3 18 3 3 3 3 19 2 1 2 2 20 1 1 2 1
要查詢 df2 的每一行中 1 的數量,請將以下程式碼新增到上述程式碼片段中:
df2%>%mutate(Number_of_Ones=rowSums(.==1))
輸出
如果您將以上所有程式碼片段作為單個程式執行,則會生成以下輸出:
y1 y2 y3 y4 Number_of_Ones 1 2 1 2 1 2 2 2 3 1 1 2 3 3 1 2 2 1 4 3 1 1 1 3 5 3 1 3 2 1 6 2 3 2 2 0 7 1 3 1 1 3 8 1 2 1 2 2 9 1 2 3 3 1 10 2 3 3 2 0 11 3 1 1 2 2 12 3 2 1 1 2 13 2 2 2 3 0 14 2 1 2 2 1 15 1 2 1 2 2 16 3 3 2 3 0 17 1 2 3 3 1 18 3 3 3 3 0 19 2 1 2 2 1 20 1 1 2 1 3
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP