我想对数据框的行进行分组。但是这些列不应该摘要,我想附上它们。
我尝试了tidyverse软件包,并提出了一个接近(错误的)解决方案。
这是我的df:
`Order ID` Quantity `Sub-Category 1` `Sub-Category 2` `Sub-Category 3` `Sub-Category 4` `Sub-Category 5` `Sub-Category 6`
<chr> <dbl> <chr> <chr> <chr> <chr> <chr> <chr>
1 22 2 Bookcases Bookcases NA NA NA NA
2 33 3 Chairs Chairs Chairs NA NA NA
3 22 2 Labels Labels NA NA NA NA
4 33 5 Tables Tables Tables Tables Tables NA
列数代表数量,因此不再需要数量列。 我想将它们分组并附加相同的订单ID行,以获取此解决方案:
`Order ID` Quantity `Sub-Category 1` `Sub-Category 2` `Sub-Category 3` `Sub-Category 4` `Sub-Category 5` `Sub-Category 6`
<chr> <dbl> <chr> <chr> <chr> <chr> <chr> <chr>
1 22 2 Bookcases Bookcases Labels Labels NA NA
2 33 3 Chairs Chairs Chairs Tables Tables Tables Tables Tables
非常感谢,感谢您的帮助。
答案 0 :(得分:1)
使用tidyr
包的spread
和gather
函数,也许可以尝试:
library(tidyverse)
df <- data %>%
select(-Quantity) %>%
gather(key = "col", value = "val", -`Order ID`) %>%
group_by(`Order ID`, col) %>%
mutate(val = max(val, na.rm = T)) %>%
slice(1) %>%
ungroup() %>%
spread(key = "col", value = "val")