假設有5個屬性的數據幀df
:x1, x2, x3, x4, Year
,如下所示:組通過,並確定哪些條目有在一個給定的組
set.seed(1)
x1 <- 1:30
x2 <- rnorm(10)
x3 <- rchisq(25, 2, ncp = 0)
x4 <- rpois(6, 0.94)
Year <- sample(2011:2014,30,replace=TRUE)
noRow <- max(length(x1), length(x2), length(x3), length(x4), length(Year))
df <- list(x1=x1, x2=x2, x3=x3, x4=x4, Year=Year)
attributes(df) <- list(names = names(df), row.names=1:30, class='data.frame')
和輸出
x1 x2 x3 x4 Year
1 1 -0.6264538 4.2807226 0 2014
2 2 0.1836433 1.6273105 0 2014
3 3 -0.8356286 0.3144031 0 2012
4 4 1.5952808 0.6216108 0 2012
5 5 0.3295078 0.9374638 1 2014
6 6 -0.8204684 0.1363947 2 2013
7 7 0.4874291 2.4985843 <NA> 2013
8 8 0.7383247 2.0162627 <NA> 2012
9 9 0.5757814 2.7218900 <NA> 2012
10 10 -0.3053884 2.4119764 <NA> 2014
11 11 <NA> 1.1082308 <NA> 2013
12 12 <NA> 2.4140052 <NA> 2011
13 13 <NA> 3.1249573 <NA> 2011
14 14 <NA> 0.2615523 <NA> 2012
15 15 <NA> 0.4381074 <NA> 2014
16 16 <NA> 0.6944394 <NA> 2013
17 17 <NA> 0.8599189 <NA> 2014
18 18 <NA> 0.2924151 <NA> 2013
19 19 <NA> 1.6834339 <NA> 2012
20 20 <NA> 0.4848175 <NA> 2012
21 21 <NA> 3.1606987 <NA> 2011
22 22 <NA> 2.3705121 <NA> 2011
23 23 <NA> 0.7808625 <NA> 2013
24 24 <NA> 0.4621734 <NA> 2011
25 25 <NA> 1.9421776 <NA> 2012
26 26 <NA> <NA> <NA> 2013
27 27 <NA> <NA> <NA> 2014
28 28 <NA> <NA> <NA> 2012
29 29 <NA> <NA> <NA> 2012
30 30 <NA> <NA> <NA> 2011
我想按年份分組,並確定一個特定年份是否有一個或多個屬性沒有條目。 使用
library("dplyr")
df1 <- df %>%
dplyr::group_by(Year) %>%
dplyr::mutate(count = n())
只給了我在某一年的條目數,但它並沒有告訴我哪些屬性存在/不缺少在某一年。 感謝您分享您的想法。
祝願輸出:
Year x1 x2 x3 x4
2011 1 0 1 0
2012 1 1 1 1
2013 1 1 1 1
2014 1 1 1 1
其中1
意味着有至少一個條目的變量在某一年,並0
否則。
如果目前你的意思非缺失,可以summarise_each(或一些類似的動詞)與函數像sum(!is.na(x))> 0 – Frank
@Frank你可以請提供一個例子嗎? –
您需要在問題中提供完整的示例 - 包括您期望的輸出。我只是在黑暗中嘗試你的嘗試。 – Frank