У меня есть следующая таблица
dat <- structure(list(id = 1:7, group = c(1L, 1L, 1L, 2L, 2L, 2L, 3L, 3L
), value = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L)), class = "data.frame", row.names = c(NA,
-7L))
id group value
1 1 1 0
2 2 1 0
3 3 1 0
4 4 2 0
5 5 2 0
6 6 2 0
7 7 3 0
8 8 3 0
Я должен установить «значение» в 1 для последнего n числа дубликатов «группы», например, столбца, если n равно 2
id | group | value
------+-------------+----------
1 | 1 | 0
2 | 1 | 1
3 | 1 | 1
4 | 2 | 0
5 | 2 | 1
6 | 2 | 1
7 | 3 | 1
8 | 3 | 1
Я пытался установить последний дубликат на 1, используя этот код
df['value'] <- with(df, replace(df$value, !duplicated(df$group, fromLast = TRUE), 1))
Есть ли способ изменить его на пользовательский набор, сколько дубликатов из последней строки я хочу изменить