【发布时间】:2021-08-16 14:27:01
【问题描述】:
因此,我使用以下代码根据过滤器将以下数据帧 (df1) 拆分为多个数据帧/小标题,以便计算出每个指标的百分位数。
df1:
| name | group | metric | value |
|---|---|---|---|
| A | A | distance | 10569 |
| B | A | distance | 12939 |
| C | A | distance | 11532 |
| A | A | psv-99 | 29.30 |
| B | A | psv-99 | 30.89 |
| C | A | psv-99 | 28.90 |
split <- lapply(unique(df1$metric), function(x){
filter <- df1 %>% filter(group == "A" & metric == x)
})
然后,这给了我一大堆小玩意儿。我现在想为每个 tibble 改变一个新列,以计算出值列的百分位等级,我可以使用以下代码来完成:
df2 <- split[[1]] %>% mutate(percentile = percent_rank(value))
我可以为每个指标执行此操作,然后将它们 row_bind 组合在一起,但这看起来很混乱。任何人都可以提出更好的方法吗?
【问题讨论】: