我有两组数据,每组都在一个单独的数据框中。这是因为一个是从Excel电子表格派生而另一个是通过自动迭代原始数据文件。 两个数据框都有一个共同点:第一列包含其中观测值的统一时间戳信息。 df1包含有关湿度和温度的数据(变量:时间戳,嗡嗡声,温度),df2包含氧气,功率和时间变量(变量:时间戳,O2,功率,时间)。
理想情况下,df1都应包含df2包含的所有带时间戳的观察值。另外,df1包含一些需要清理的额外观察。
我想“加入”两个数据帧,这样对于每个时间戳,来自两个df的所有变量值都被连接(即变量:timestamp,hum,temp,O2,power,time)。那些只发生在df1中的观察结果应该被删除。
有没有聪明的方法呢?
亲切的问候 kruemelprinz
答案 0 :(得分:1)
好像你只是在寻找一个简单的left_join。这可以通过dplyr和
完成left_join(df2, df1)
只返回df2和df1在timestamp列中匹配的行。 (这会丢弃df1中的所有额外观察结果)。
基础R实现是:
merge(x = df2, y = df1, by = "timestamp", all.x = TRUE)