如何在R中根據兩組求值的和,即使存在缺失值?
如果存在缺失值,我們可以使用dplyr包的`group_by`和`summarise`函式來根據兩組求值的和。
例如,如果我們有一個名為df的資料框,其中包含一個數值列(例如Num)和兩個分組列(例如Grp1和Grp2),那麼如果df中存在缺失值,則可以透過使用以下命令來找到基於Grp1和Grp2的Num中值的和:
df%>%group_by(Grp1,Grp2)%>%summarise(Sum=sum(Num,na.rm=TRUE))
示例1
以下程式碼片段建立一個示例資料框:
grp1<-sample(LETTERS[1:3],20,replace=TRUE) grp2<-sample(letters[1:3],20,replace=TRUE) Dep_Var<-sample(c(NA,rpois(2,5)),20,replace=TRUE) df1<-data.frame(grp1,grp2,Dep_Var) df1
輸出
建立以下資料框:
grp1 grp2 Dep_Var 1 A a 4 2 A c NA 3 C a 5 4 A c NA 5 A b NA 6 A a 4 7 C c 5 8 B b 4 9 C a NA 10 A c 5 11 B a NA 12 B c 5 13 A c NA 14 C c 4 15 C c 5 16 A a NA 17 C b 4 18 A a 4 19 B a 4 20 B a NA
要載入dplyr包並根據grp1和grp2查詢Dep_Var中值的和,請將以下程式碼新增到上面的程式碼片段中:
library(dplyr) df1%>%group_by(grp1,grp2)%>%summarise(Sum=sum(Dep_Var,na.rm=TRUE)) `summarise()` regrouping Output by 'grp1' (override with `.groups` argument) # A tibble: 9 x 3 # Groups: grp1 [3]
輸出
如果您將以上所有程式碼片段作為一個程式執行,它將生成以下輸出:
grp1 grp2 Sum <chr> <chr> <int> 1 A a 12 2 A b 0 3 A c 5 4 B a 4 5 B b 4 6 B c 5 7 C a 5 8 C b 4 9 C c 14
示例2
以下程式碼片段建立一個示例資料框:
Class<-sample(c("First","Second","Third"),20,replace=TRUE)
Rank<-sample(1:4,20,replace=TRUE)
Score<-sample(1:100,20)
df2<-data.frame(Class,Rank,Score)
df2輸出
建立以下資料框:
Class Rank Score 1 Second 4 100 2 First 4 76 3 First 2 54 4 Third 3 66 5 Third 2 98 6 Second 1 81 7 First 3 95 8 Second 1 7 9 Third 3 94 10 Second 1 78 11 Third 3 13 12 Third 2 19 13 Second 4 30 14 First 4 31 15 Second 3 87 16 First 3 38 17 First 1 60 18 First 3 36 19 Second 4 3 20 Third 3 84
要根據班級和排名查詢Score中值的和,請將以下程式碼新增到上面的程式碼片段中:
df2%>%group_by(Class,Rank)%>%summarise(Sum=sum(Score,na.rm=TRUE)) `summarise()` regroupingOutput
by 'Class' (override with `.groups` argument) # A tibble: 9 x 3 # Groups: Class [3]
輸出
如果您將以上所有程式碼片段作為一個程式執行,它將生成以下輸出:
Class Rank Sum <chr> <int> <int> 1 First 1 60 2 First 2 54 3 First 3 169 4 First 4 107 5 Second 1 166 6 Second 3 87 7 Second 4 133 8 Third 2 117 9 Third 3 257
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP