У меня есть dataframe, который выглядит, как этотMutate dplyr выбрать первое значение переменной
test<-data.frame(x=c(100,100,101,101,102,102),y=c(1,2,1,2,1,2),z=c(NA,NA,0.1,NA,NA,0.5))
Я хочу, чтобы сгруппировать х. Затем создайте новую переменную ynew, где я бы посмотрел на z и выберем первое значение, которое не является NA, а затем установите ynew = y. Если оба значения в z равны NA, я хотел бы, чтобы yNew был NA. ynew должно быть NA, NA, 1,1,2,2. Я пытаюсь сделать это с помощью dplyr.
Я застрял со следующим
group_by(test,x) %>% mutate(ynew=ifelse(all(is.na(z)),NA_integer_,y[corresponding index]))
Дубликат: http://stackoverflow.com/questions/15070213/skip-na-values-using-fu n-first –