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