Suppose I start with a data frame:
ID Measurement1 Measurement2 1 45 104 2 34 87 3 23 99
dplyr 1.0.0 introduced a family of SQL-inspired functions for modifying rows. In this case you can now use rows_update():
dplyr 1.0.0
rows_update()
library(dplyr) df1 %>% rows_update(df2, by = "ID") ID Measurement1 Measurement2 1 1 45 104 2 2 10 11 3 3 23 99 4 4 21 22