【发布时间】:2021-08-21 22:17:35
【问题描述】:
我在 R 中有如下形式的表格:
| COUNTRY | date_start | code | bin | ord |
| -----------------------------------------|
| Chile | 04/11/2020 | 4.5.1 | 1 | 3 |
| Chile | 04/11/2020 | 4.5.2 | 1 | 0 |
| Norway | 23/02/2021 | 4.4.1 | 1 | 2 |
| Norway | 23/02/2021 | 4.4.2 | 0 | 1 |
| Norway | 25/02/2021 | 4.4.2 | 0 | 1 |
首先我想删除列“who_code”,然后我想创建一个额外列“ordMax”,并用给定“国家”和“日期开始”的“奥德”列的最大值填充它.所以在这个例子中,新列是
| COUNTRY | date_start | bin | ord | ordMax |
| ------------------------------------------|
| Chile | 04/11/2020 | 1 | 3 | 3 |
| Chile | 04/11/2020 | 1 | 0 | 3 |
| Norway | 23/02/2021 | 1 | 2 | 2 |
| Norway | 23/02/2021 | 0 | 1 | 2 |
| Norway | 25/02/2021 | 0 | 1 | 1 |
我在 R 中尝试了几种方法,同时使用了“聚合”和 dplyr 库,但似乎没有任何效果。我尝试过的其中一件事是:
df_k_reduced <- df_k %>%
group_by(COUNTRY, date_start) %>%
select(-code) %>%
summarise(ordMax = max(ord))
但这给出了类似的东西:
| COUNTRY | date_start | ordMax |
| ------------------------------|
| Chile | 04/11/2020 | 3 |
| Norway | 23/02/2021 | 2 |
| Norway | 25/02/2021 | 1 |
请注意,'bin' 和原始的 'ord' 列也已被删除,尽管这不是最初的意图。
我如何获得带有该额外列的表,其中唯一删除的列是“代码”,并且没有删除任何行?
【问题讨论】:
标签: r dataframe dplyr group-by data-cleaning