在R中按AttributeDescription分组保留DataFrame每月首现行的方法
处理重复年月数据的解决方案
针对你用dplyr、tsibble、fpp3处理得到的usda数据框,要按AttributeDescription分组,每组内保留重复Dates的第一行,可采用以下两种简洁方法:
方法一:使用distinct()函数
library(dplyr) library(tsibble) usda_clean <- usda %>% group_by(AttributeDescription) %>% distinct(Dates, .keep_all = TRUE) %>% ungroup()
distinct(Dates, .keep_all = TRUE)会在每个AttributeDescription分组内,保留第一个出现的Dates对应的整行数据,自动丢弃后续重复Dates的行。
方法二:使用row_number()筛选
usda_clean <- usda %>% group_by(AttributeDescription, Dates) %>% filter(row_number() == 1) %>% ungroup()
通过同时按AttributeDescription和Dates分组,筛选每组的第一行,实现保留每个年月的首次出现记录。
如果处理后需要确保仍是tsibble对象,可在末尾添加as_tsibble(index = Dates, key = AttributeDescription)指定索引和键。
内容的提问来源于stack exchange,提问作者Rodrigo H. Ozon
相关产品推荐
相关产品推荐

