【发布时间】:2017-10-23 13:46:12
【问题描述】:
我有下表:
id origin destination price
1 A B 2
1 C D 2
2 A B 3
3 B E 6
3 E C 6
3 C F 6
基本上我想要做的是将它按id 分组,从origin 中选择第一个元素,并从destination 中保留最后一个元素,从而生成此表。
id origin destination price
1 A D 2
2 A B 3
3 B F 6
我知道如何选择第一行和最后一行,但不会做我想做的事。
df %>%
group_by(id) %>%
slice(c(1, n())) %>%
ungroup()
是否可以使用dplyr 甚至data.table 来做到这一点?
【问题讨论】:
-
随便
df %>% group_by(id) %>% summarise(origin = first(origin), destination = last(destination), price = first(price)) -
@akrun 一如既往地完美运行。不知道摘要的第一个和最后一个功能。谢谢。
标签: r dataframe data.table dplyr