library("dplyr", lib.loc="/Library/Frameworks/R.framework/Versions/3.1/Resources/library")
dates <- as.Date(c("1986-01-05","1985-06-10","1990-07-04","2013-10-31"))

status <- data.frame(patient_id = 1:4, birth_date = dates, 
                     sex = c("male", "female", "female", "male"), 
                     language = c("english", "spanish", "english", "spanish"))


lab_data <- data.frame(patient_id = rep(1:4, c(2, 1, 4, 1))[-3], 
                       weight = c(NA, 150, 126, 137, 134, 130, 142),
                       temp = c(98.6, 99.2, 99, NA, NA, 98.7, 97.5), 
                       eye_color = c("brown", NA, "green", NA, NA, NA, "blue"))
(status)
##   patient_id birth_date    sex language
## 1          1 1986-01-05   male  english
## 2          2 1985-06-10 female  spanish
## 3          3 1990-07-04 female  english
## 4          4 2013-10-31   male  spanish
(lab_data)
##   patient_id weight temp eye_color
## 1          1     NA 98.6     brown
## 2          1    150 99.2      <NA>
## 3          3    126 99.0     green
## 4          3    137   NA      <NA>
## 5          3    134   NA      <NA>
## 6          3    130 98.7      <NA>
## 7          4    142 97.5      blue
(answer <- full_join(status, lab_data[,c(1,4)]))
## Joining by: "patient_id"
##   patient_id birth_date    sex language eye_color
## 1          1 1986-01-05   male  english     brown
## 2          1 1986-01-05   male  english      <NA>
## 3          2 1985-06-10 female  spanish      <NA>
## 4          3 1990-07-04 female  english     green
## 5          3 1990-07-04 female  english      <NA>
## 6          3 1990-07-04 female  english      <NA>
## 7          3 1990-07-04 female  english      <NA>
## 8          4 2013-10-31   male  spanish      blue