2016-04-24 96 views
0

我有两组数据,每组数据在不同的数据框中。这是因为其中一个来自Excel电子表格,另一个来自原始数据文件的自动迭代。两个数据框有一个共同点:第一列包含统一的时间戳信息,用于观察它们。 df1包含有关湿度和温度的数据(变量:时间戳,嗡嗡声,温度),df2包含氧气,功率和时间变量(变量:时间戳,O2,功率,时间)。在R中加入具有不同列的不同长度的数据帧

理想情况下,两个df1都应包含df2包含的所有时间戳记的观察值。另外,df1包含一些需要清理的额外观察值。

我想“加入”两个数据帧,以便对于每个时间戳,来自两个df的所有变量值都加入(即变量:时间戳,嗡嗡声,温度,O2,功率,时间)。那些只有在df1中出现的观察值才能被删除。

有没有什么聪明的方法呢?

亲切的问候 kruemelprinz

回答

1

好像你只是寻找一个简单的left_join。这可以通过dplyr与

left_join(df2, df1) 

这将只返回df2和df1在时间戳列中匹配的行。 (这将删除df1中的所有额外观察值)。

一个基础R实现是:

merge(x = df2, y = df1, by = "timestamp", all.x = TRUE) 
+0

这正是我一直在寻找!非常感谢你,祝你有美好的一天! – kruemelprinz

+0

不客气!如果您对答案满意,可以通过单击答案旁边的绿色复选标记将其标记为正确。乐于帮助。 –

+0

绝对!感谢提示:) – kruemelprinz

相关问题