Если я правильно понял вопрос, вот возможное решение в dplyr.Я установил недостающие значения в df2 на NA.
library(tidyverse)
df1 <- tribble(
~heart.rate, ~rr, ~HR_mean, ~RR_mean,
86, 790, 83.4, 801.8,
84, 828, 83.4, 801.8,
84, 767, 83.4, 801.8,
82, 811, 83.4, 801.8,
81, 813, 83.4, 801.8)
df2 <- tribble(
~Person, ~Session, ~HR_mean, ~RR_mean,
'Person1', 1, NA, NA,
'Person1', 2, NA, NA,
'Person2', 1, NA, NA,
'Person2', 2, NA, NA,
'Person3', 1, NA, NA)
df2 <- df2 %>%
mutate(HR_mean = df1$HR_mean,
RR_mean = df1$RR_mean)