I'm not sure, but are you looking for something like this?
(dat1 <- data.frame(stringsAsFactors=FALSE,
Country.Name = c("AFGHANISTAN", "AFGHANISTAN", "AFGHANISTAN", "AFGHANISTAN", "AFGHANISTAN", "AFGHANISTAN"),
year = c("YR1997", "YR1998", "YR1999", "YR2000", "YR2001", "YR2002"),
GDP = c(NA, 1046338, NA, 749360, 773623, 184.494712122049),
enrolment = c(NA, NA, NA, NA, NA, 2667629),
Expenditure = c(NA, NA, NA, NA, NA, NA)))
#> Country.Name year GDP enrolment Expenditure
#> 1 AFGHANISTAN YR1997 NA NA NA
#> 2 AFGHANISTAN YR1998 1046338.0000 NA NA
#> 3 AFGHANISTAN YR1999 NA NA NA
#> 4 AFGHANISTAN YR2000 749360.0000 NA NA
#> 5 AFGHANISTAN YR2001 773623.0000 NA NA
#> 6 AFGHANISTAN YR2002 184.4947 2667629 NA
(dat2 <- data.frame(stringsAsFactors=FALSE,
Country.Name = c("AFGHANISTAN", "AFGHANISTAN", "AFGHANISTAN", "AFGHANISTAN", "AFGHANISTAN", "AFGHANISTAN"),
year = c("YR1997", "YR1998", "YR1999", "YR2000", "YR2001", "YR2002"),
year.inschool = c(4.9, 5.2, 5.5, 5.9, 6.2, 6.5)))
#> Country.Name year year.inschool
#> 1 AFGHANISTAN YR1997 4.9
#> 2 AFGHANISTAN YR1998 5.2
#> 3 AFGHANISTAN YR1999 5.5
#> 4 AFGHANISTAN YR2000 5.9
#> 5 AFGHANISTAN YR2001 6.2
#> 6 AFGHANISTAN YR2002 6.5
(dat <- merge(x = dat1,
y = dat2,
all = TRUE))
#> Country.Name year GDP enrolment Expenditure year.inschool
#> 1 AFGHANISTAN YR1997 NA NA NA 4.9
#> 2 AFGHANISTAN YR1998 1046338.0000 NA NA 5.2
#> 3 AFGHANISTAN YR1999 NA NA NA 5.5
#> 4 AFGHANISTAN YR2000 749360.0000 NA NA 5.9
#> 5 AFGHANISTAN YR2001 773623.0000 NA NA 6.2
#> 6 AFGHANISTAN YR2002 184.4947 2667629 NA 6.5
Created on 2019-03-11 by the reprex package (v0.2.1)