0
我想在使用group_by後使用dplyr來計算行數。我有以下數據:在Dplyr中按組計算行數:評估錯誤
scenario pertubation population
A 1 20
B 1 30
C 1 40
D 1 50
A 2 15
B 2 25
而且我用下面的代碼GROUP_BY併發生變異:
test <- all_scenarios %>%
group_by(scenario) %>%
mutate(rank = dense_rank(desc(population)),
exceedance_probability = rank/count(pertubation)) %>%
select(scenario, pertubation, All.ages, rank, exceedance_probability)
,但我一直encoutering此錯誤信息,而且我不確定的是什麼意思,或爲什麼我繼續得到它?
Error in mutate_impl(.data, dots) :
Evaluation error: no applicable method for 'groups' applied to an object of class "c('integer', 'numeric')".
我想我的輸出數據看起來是這樣的:
scenario pertubation population rank exceedance_probability
A 1 20 12 0.06
B 1 30 7 0.035
C 1 40 2 0.01
D 1 50 1 0.005
A 2 15 34 0.17
B 2 25 28 0.14
要計算超越概率我只需要通過觀測的數量來劃分等級,但我發現它在group_by語句後,很難在dplyr中執行此操作。我是否錯誤地訂購了dplyr語句?
'計數'應該用在data.frame上。你的例子和輸出似乎是不同的。也許使用'all_scenarios%>%group_by(場景)%>%mutate(rank = dense_rank(desc(population)),exceedance_probability = rank/table(pertubation))' – akrun