interpolação linear com dplyr, mas pulando grupos com todos os valores ausentes

Eu estou tentando interpolar linearmente valores dentro de um grupo usando dplyr e approx () Infelizmente, alguns dos grupos têm todos os valores ausentes, então eu gostaria que a aproximação simplesmente pulasse esses grupos e prosseguisse pelo restante. Não quero extrapolar ou usar os dados da observação vizinha mais próxima.

Aqui está um exemplo dos dados. O primeiro grupo (por identificação) está ausente, o outro deve ser interpolado.

data <- read.csv(text="
id,year,value
c1,1998,NA
c1,1999,NA
c1,2000,NA
c1,2001,NA
c2,1998,14
c2,1999,NA
c2,2000,NA
c2,2001,18")

dataIpol <- data %>%
group_by(id) %>% 
arrange(id, year) %>%            
mutate(valueIpol = approx(year, value, year, 
                 method = "linear", rule = 1, f = 0, ties = mean)$y)

Mas então eu recebo o erro

Error: need at least two non-NA values to interpolate

Não recebo esse erro se me livrar dos grupos que faltam, mas isso não é viável.

questionAnswers(1)

yourAnswerToTheQuestion