Это действительно разочаровывающий глупый пример. Допустим, у меня есть следующие данные ниже со столбцом идентификатора ...
dat <- data.frame(cbind(rep(c("a","b","c"),c(1,3,1))))
names(dat) <- c("ID")
dat
ID
1 a
2 b
3 b
4 b
5 c
6 c
Я пытаюсь создать новый столбец, используя пакет dplyr, который создает 0 для первой строки по идентификатору, а затем любые последующие строки будут иметь 1. Таким образом, результирующие данные должны выглядеть следующим образом:
ID Flag
1 a 0
2 b 0
3 b 1
4 b 1
5 c 0
6 c 1
Я пробовал следующий код, но просто получаю столбец нулей:
dat %>%
group_by(ID) %>%
mutate(
Readmission = ifelse(n() == 1,0,c(0,rep(1,n()-1)))
) %>% data.frame()
Любая помощь приветствуется ! Конечно, это быстрое решение, и я не выспался прошлой ночью. На самом деле это довольно простая задача с использованием lapply ... но она слишком кровавая, чтобы бежать, и мне не терпится.