0
我試圖計算某個結果的概率(例如值> = 3),但不知道如何將tally和n結合在同一個鏈中。tally()和n()在同一個鏈中
這個工作,但我想不是靠numsim
:
numsim=2
simdF %>%
group_by(iter) %>%
tally(precip >= 3) %>%
mutate(
prob=n/numsim
)
爲什麼不:
simdF %>%
group_by(iter) %>%
summarise(
freq=tally(precip >= 3),
prob=freq/n()
)
)
和關於這一點,我怎樣才能使3
是一個參數傳遞給函數包含此塊?
謝謝!
樣本數據:
simdF=structure(list(nsim = c(1,2,1,2,1,2), iter = c(5, 5,10, 10, 30, 30), locE = c(-1, -2, -2, -1, 0, 4), locN = c(-1, 4, -2, -3, 0, 2), precip = c(1.4142135623731, 4.47213595499958, 2.82842712474619, 3.16227766016838, 0, 4.47213595499958)), .Names = c("nsim", "iter", "locE", "locN", "precip"), class = c("tbl_df", "data.frame"), row.names = c(NA, -6L))
我很困惑。如果你使用n(),第一個mutate不會給你正確的答案。 n()= 3,因爲tally()之後的dF有3行(我認爲?)。我的工作示例在函數'對象'precip_lower_bound'未找到'中也不起作用。使用sum(precipitation> = 3)現在有意義。謝謝 – Dominik
在我的mutate例子中用'n'與'n()'相對嗎? – Dominik
我的錯誤是,我對'n'和'n()'的評論是在我意識到'tally'添加了一個名爲'n'的列之前。至於函數,我更新了我的函數示例,使其更加完整。 – Gregor