Usando R para inserir um valor para dados perdidos com um valor de outro quadro de dados

Todos,

Eu tenho uma pergunta que temo ser muito pedestre para perguntar aqui, mas procurá-la em outro lugar está me levando ao erro. Eu posso não estar usando os termos de pesquisa corretos.

Eu tenho um quadro de dados do painel (ano-país) em R com alguns valores ausentes em uma determinada variável. Eu estou tentando imputar eles com o valor de outro vetor em outro quadro de dados. Aqui está uma ilustração do que estou tentando fazer.

AssumirData é o quadro de dados de interesse, que possui valores ausentes em um determinado vetor que estou tentando imputar de outro quadro de dados do doador. Se parece com isso.

country    year      x
  70       1920    9.234
  70       1921    9.234
  70       1922    9.234
  70       1923    9.234
  70       1924    9.234
  80       1920      NA
  80       1921      NA
  80       1922      NA
  80       1923      NA
  80       1924      NA
  90       1920    7.562
  90       1921    7.562
  90       1922    7.562
  90       1923    7.562
  90       1924    7.562

Este seria oDonor quadro, que tem um valor paracountry == 80

country      x
  70       9.234
  80       1.523
  90       7.562

Eu estou tentando encontrar uma maneira perfeita para automatizar isso, além de um comando deData$x[Data$country == 80] <- 1.523. Há muitos países com falta dex.

Pode valer a pena esclarecer que um simplesmerge seria o mais fácil, mas não necessariamente apropriado para o que estou tentando fazer. Alguns países verão variações nosx em diferentes anos. Basicamente, o que estou tentando realizar é um comando que diz que se o valor dex está faltandoData para todos os anos para um determinado país, tomar o valor correspondente para o país doDonor dados e cole-os em todos os anos do país como uma espécie de "melhor palpite".

Obrigado por qualquer entrada. Eu suspeito que essa seja uma pergunta novata, mas eu não sabia os termos certos para procurar por ela.

O código reproduzível para os dados acima segue.

country <- c(70,70,70,70,70,80,80,80,80,80,90,90,90,90,90)
year <- c(1920,1921,1922,1923,1924,1920,1921,1922,1923,1924,1920,1921,1922,1923,1924)
x <- c(9.234,9.234,9.234,9.234,9.234,NA,NA,NA,NA,NA,7.562,7.562,7.562,7.562,7.562)

Data=data.frame(country=country,year=year,x=x)
summary(Data)

country <- c(70,80,90)
x <- c(9.234,1.523,7.562)
Donor=data.frame(country=country,x=x)
summary(Donor)

questionAnswers(2)

yourAnswerToTheQuestion