我有一个数据集,这个数据集包含两列,第一列是ID列,第二列是VALUE。您可以看到下面的代码和表:
DATA_TEST <- data.frame(
ID = c("03740270423222","03740270423222","03740270423222","03740270423222","01380926325248","01380926325248","01380926325248"),
VALUE = c("100","200","300","200","300","200","300"))
但是表中有很多重复项,因此我的目的只是按每个ID分别提取最后一个值,因此最终结果应类似于下表:
那么有人可以帮助我解决这个问题吗?
base
带有aggregate()
和的R解决方案tail()
aggregate(VALUE~ ID, DATA_TEST, tail, 1)
# ID VALUE
# 1 01380926325248 300
# 2 03740270423222 200
或dplyr
打包。
library(dplyr)
选项1: summarise()
+last()
DATA_TEST %>%
group_by(ID) %>%
summarise(VALUE = last(VALUE))
选项2: slice_tail() <=> slice(n())
DATA_TEST %>%
group_by(ID) %>%
slice_tail()
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句