Привет, у меня есть набор данных, который выглядит так. Я хочу создать новый столбец, который является индикатором, показывающим, является ли дата для группы самой поздней.
Я приложил образец данных ниже:
Item Group Date
item1 a 1/1/2019
item2 a 2/1/2019
item3 a 3/1/2019
item6 b 1/1/2019
item7 b 2/1/2019
item8 b 2/1/2019
item9 b 3/1/2019
Для каждой группы (a или б), я хочу создать индикатор, который показывает, является ли Дата последней в своей группе. Я приложил образец того, что я хочу выполнить. sh:
Item Group Date Indicator
item1 a 1/1/2019
item2 a 2/1/2019
item3 a 3/1/2019 Latest
item6 b 1/1/2019
item7 b 2/1/2019
item8 b 3/1/2019
item9 b 4/1/2019 Latest
Это мой код. Он может найти самую последнюю дату, но, похоже, не разделен по группам.
data$Indicator <- ifelse(data$Date == max(data$Date) & data$Group == "a", "Latest",
ifelse(data$Date == max(data$Date) & data$Group == "b", "Latest",""))
Я понимаю, что оператор data$Date == max(data$Date)
не различает guish между группами, поэтому я попытался использовать mutate
, но, похоже, я неправильно его настраиваю.
data %>%
group_by(Group) %>%
mutate(Indicator = ifelse(data$Date == max(data$Date), "Latest",""))
Интересно, может ли кто-нибудь указать мне правильное направление.