Может быть, вы могли бы простую линейную регрессию?
mod <- lm(Wave_Height ~ Data, test[complete.cases(test), ])
test$Wave_Height[is.na(test$Wave_Height)] <- predict(mod, newdata = test[!complete.cases(test), ])
Вот решение, использующее обобщенную аддитивную модель и, следовательно, не предполагающее линейности отношения:
library(mgcv)
mod <- gam(Wave_Height ~ s(Data), data=test[complete.cases(test), ])
test$Wave_Height[is.na(test$Wave_Height)] <- predict(mod, newdata = test[!complete.cases(test), ])
Но вам нужно немного изменить формат данных (см. здесь ) и, возможно, захотите адаптировать спецификацию модели ...