嘗試根據以前的分組進行條件彙總。遇到麻煩了。有條件地在dplyr中進行彙總/變異
我想根據哪些是在類型r1,由f分組後總結amt列。
重複性代碼:
s <- sample(c('one', 'two'), 96, replace = TRUE)
f <- sample(c('a','s','d','f'), 96, replace = TRUE)
r1_amt <- runif(96, 1, 100)
r2_amt <- runif(96, 1, 100)
r3_amt <- runif(96, 1, 100)
x <- data_frame(s, f, r1_amt, r2_amt, r3_amt)
smy <- x %>%
group_by(f) %>%
summarise(n = n(), # population in each f group
num_r1 = sum(r1_amt >= 50)) # amount of r1 in each f group
我試過.[r1_amt >= 50]$amt
,cumsum(r1_amt >= 50)
,sum(ifelse(r1_amt >= 50, r1_amt, 0))
但一直沒能拿出的分組編號。
因此,1給定的行可以是r1的60,r2的40,r3的55,並且如果有意義的話,它應該被包括在僅用於r1和r3的總計數量列中。
什麼是你期望的輸出? – Psidom
我調整了可重現的例子,因爲我沒有把它做得相當正確。如果在r1_amt中有超過50個,我想將給定的觀察分類爲r1。然後sum_r1_amt列應該是r1_amt的總和,只有當觀察值大於50時。 –
@MattW。如果你想改變你的問題,請問另一個作爲跟進。 16小時後回來並編輯您的問題並不專業。修改我的答案以解決您的新問題並不困難,但我會將其留給您,或者其他答案。 – Masoud