Я хочу создать новую переменную, которая указывает первое конкретное наблюдение значения для переменной.
В следующем наборе данных примера я хочу иметь новую переменную "firstna", которая равна "1" дляпервое наблюдение «NA» для этого игрока.
game_data <- data.frame(player = c(1,1,1,1,2,2,2,2), level = c(1,2,3,4,1,2,3,4), points = c(20,NA,NA,NA,20,40,NA,NA))
game_data
player level points
1 1 1 20
2 1 2 NA
3 1 3 NA
4 1 4 NA
5 2 1 20
6 2 2 40
7 2 3 NA
8 2 4 NA
Полученный кадр данных должен выглядеть следующим образом:
game_data_new <- data.frame(player = c(1,1,1,1,2,2,2,2), level = c(1,2,3,4,1,2,3,4), points = c(20,NA,NA,NA,20,40,NA,NA), firstna = c(0,1,0,0,0,0,1,0))
game_data_new
player level points firstna
1 1 1 20 0
2 1 2 NA 1
3 1 3 NA 0
4 1 4 NA 0
5 2 1 20 0
6 2 2 40 0
7 2 3 NA 1
8 2 4 NA 0
Если честно, я не знаю, как это сделать.Было бы идеально, если бы для этого была опция dplyr.