簡體   English   中英

dplyr:group_by,子集和摘要

[英]dplyr: group_by, subset and summarise

假設我有一個由許多行組成的數據框,如下所示:

df <- data.frame(Group = c(0,0,1,1,1,0),V1=c(0,0,0,4,5,7), V2=c(0,3,0,4,0,1))

  Group V1 V2
1     0  0  0
2     0  0  3
3     1  0  0
4     1  4  4
5     1  5  0
6     0  7  1

組是二進制的,V1和V2的通貨膨脹為零(許多觀察值== 0),我想對每列進行子集化(依次)以刪除0 obs,然后根據剩余數據計算分位數。 至關重要的是,我只想為給定的變量刪除0,而不是刪除整個行,因為我想為下一列重新設置並重新設置子集。

我下面有我的分位數代碼。 有什么辦法可以使我潛入子集函數,還是需要其他方法?

#Functions for quantiles
quant25 <- function(x) quantile(x, probs=0.25, na.rm=TRUE)
quant50 <- function(x) quantile(x, probs=0.50, na.rm=TRUE)  
quant75 <- function(x) quantile(x, probs=0.75, na.rm=TRUE)

#Grouped calls on these functions
group_by(df, Group) %>%
summarise_each(funs(quant25, quant50, quant75), V1, V2)

我想我已經為我的目的找到了這個: df[,2:3][df[,2:3]==0] <- NA聲明缺少0個觀察值,其余的似乎按預期處理。 (謝謝,Jaap)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM