【发布时间】:2018-11-30 13:53:54
【问题描述】:
我是 R 编程新手,我想知道是否有办法通过比较 2 个文件来更新值。
例如,我有我的主表 df_table1:
Date Metric1 Metric2 Metric3
1/1/2018 25 4.6 49
2/1/2018 6 3.6 67
3/1/2018 18 2.6 36
4/1/2018 56 3.6 29
我正在迭代地浏览文件夹中的各种文件,我碰巧有一个文件也包含一些具有相同日期值的重叠数据,df_table2:
Date Metric1 Metric2 Metric3
3/1/2018 19 2.9 47
4/1/2018 78 5.7 35
5/1/2018 46 3.3 29
组合数据文件的常用方法是使用 rbind(),但我相信这会为 df_table2 中的 2 个日期创建重复值。
有没有办法有效地进行比较,检查我所有后续文件的重叠日期,并根据 df_table1 中的日期替换它们的相应值?
理想情况下,如果 df_table2 中的所有指标的值都大于 df_table1 中的值,那么如果有一种方法只进行替换会更好。
最后,我希望最终输出是 df_table1 和 df_table2 通过某种特殊的 rbind() 函数的组合,其值从 df_table2 更新而没有重复:
Date Metric1 Metric2 Metric3
1/1/2018 25 4.6 49
2/1/2018 6 3.6 67
3/1/2018 19 2.9 47 #updated from df_table2
4/1/2018 78 5.7 35 #updated from df_table2
5/1/2018 46 3.3 29 #new value from df_table2
谢谢!
【问题讨论】:
-
我不清楚最终的结果应该是什么。您希望使用 df_table1 的相应值更新 df_table2(理想情况下,仅当给定指标的 df_table1 中的值低于 df_table2 中的值时)。之后你想用 df_table2 做什么?
-
嗨@SAFEX,感谢您指出这一点。我进行了一些更改以显示我想要的所需输出。比较完成后我并不完全需要 df_table2 ,并且以某种方式 rbind() 更新和新值,如果这有意义的话?