У меня есть проблема, которую легко решить, но я просто не могу ее решить. У меня есть огромный набор данных с группами и переменной. Некоторые группы для этой переменной пусты (заполнены только NA), а некоторые содержат значения, но также и NA.
Например:
ID <- c("A1","A1","A1","A1","B1","B1","B1","B1", "B1", "C1", "C1", "C1")
Value1 <- c(0,2,1,1,NA,1,1,NA,1,NA,NA,NA)
data <- data.frame(ID, Value1)
Я хотел бы изменить все NA на нули, но только в группах, которые иначе содержат информацию.
Так вот так:
ID <- c("A1","A1","A1","A1","B1","B1","B1","B1","B1","C1","C1","C1")
Value1 <- c(0,2,1,1,0,1,1,0,1,NA,NA,NA)
Я пытался использовать group_by (ID) и "replace" с условием max (Value1)> = 0, но либо max () не работает как условие или не работает с NA. К сожалению, в моей работе мне часто понадобились бы такие условия, поэтому я также буду признателен за любые предложения о том, какие пакеты лучше всего подходят для группового выбора.