将一个数据帧中的列值的结果写入r中另一数据帧中的新列

时间:2019-06-16 03:37:53

标签: r

我有一个数据帧df1,其中包含从实验1中获取的一个人的心率(HR_mean)和rr(RR_mean)的平均值。

  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,其中的列HR_mean和RR_mean为空:

  Person   Session  HR_mean  RR_mean
  Person1    1       
  Person1    2  
  Person2    1 
  Person2    2  
  Person3    1

我想将df1中的HR_mean和RR_mean的值复制到df2中的HR_mean和RR_mean列,如下所示:

df2:

Person   Session  HR_mean  RR_mean
Person1    1       83.4     801.8
Person1    2  
Person2    1 
Person2    2  
Person3    1

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,那么这是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)