【发布时间】:2023-03-21 16:20:01
【问题描述】:
我有一个名为 crash_stats_TA 的 DF。
| TA_code | TA_name | Crashes |
|---|---|---|
| 061 | Grey | 126 |
| 062 | Buller | 345 |
| 063 | Westland | 24 |
| 064 | Timaru | 112 |
我正在尝试使用 mutate 创建一个名为 crash_perc 的新列。 这是我迄今为止尝试过的:
library(dplyr) # data manipulation
crash_stats_TA <- crash_stats_TA %>%
group_by(TA_code, TA_name) %>%
mutate(crashes_perc = round(Crashes/sum(Crashes, na.rm = T)*100,2))
但是,这会返回一个新的 crash_perc 列,每个 TA_code 和 TA_name 的值为 100,因此每个区域都有 100。像这样:
这是什么原因。 不太确定如何正确执行此步骤
【问题讨论】:
-
根据显示的数据,您每组只有 1 次崩溃。因此它是 100%,即你
sum返回相同的值。也许你的逻辑需要不同
标签: r dplyr percentage