gpt4 book ai didi

r - 将两个日期框架组合到相同的列但在不同的日期下

转载 作者:行者123 更新时间:2023-12-04 10:40:06 27 4
gpt4 key购买 nike

我有两个列名相同的数据框,但每个数据框的日期不同,如下所示:

#df1
Date col1 col2 col3
1 2017-07-10 1 2 3
2 2017-07-17 4 5 6
3 2017-07-24 7 8 9

#df2
Date col1 col2 col3
1 2017-07-11 10 11 12
2 2017-07-18 13 14 15
3 2017-07-25 16 17 18

我想合并两者以获得具有相同列的单个数据框,但将信息保留到相应的日期并按升序日期排序,如下所示:

#desired result
Date col1 col2 col3
1 2017-07-10 1 2 3
2 2017-07-11 10 11 12
3 2017-07-17 4 5 6
4 2017-07-18 13 14 15
5 2017-07-24 7 8 9
6 2017-07-25 16 17 18

我最接近它的是使用 merge(df1, df2, by = "Date", all = TRUE),但这给了我:

     Date      col1    col2   col3   col1    col2   col3
1 2017-07-10 1 2 3 NA NA NA
2 2017-07-11 NA NA NA 10 11 12
3 2017-07-17 4 5 6 NA NA NA
4 2017-07-18 NA NA NA 13 14 15
5 2017-07-24 7 8 9 NA NA NA
6 2017-07-25 NA NA NA 16 17 18

编辑:所以尝试 rbind 给我一个错误,显示我的数据帧中有一些时间序列日期并阻止我获得所需的数据帧合并。这是我对我正在使用的实际数据帧执行 str(df1)str(df2) 时的输出:

str(df1)
data.frame': 14 obs. of 4 variables:
$ Date: Date, format: "2017-07-10" "2017-07-17" "2017-07-24" "2017-07-31"
...
$ bal : Time-Series from 128 to 141: 12448736 12557277 12549660 12517634
12480479 ...
$ 80 : Time-Series from 128 to 141: 14825217 15032135 15047306 15029003
15003920 ...
$ 95 : Time-Series from 128 to 141: 16083250 16342246 16369480 16358442
16339749 ...

str(df2)
'data.frame': 14 obs. of 4 variables:
$ Date: Date, format: "2017-07-04" "2017-07-11" "2017-07-18" "2017-07-25"
...
$ bal : Time-Series from 143 to 156: 6059787 6059787 6059787 6059787
6059787 ...
$ 80 : Time-Series from 143 to 156: 11234537 11239924 11245305 11250681
11256051 ...
$ 95 : Time-Series from 143 to 156: 1.4e+07 1.4e+07 1.4e+07 1.4e+07
1.4e+07 ...

最佳答案

library(dplyr)

union_all(df1, df2) %>%
arrange(date)

关于r - 将两个日期框架组合到相同的列但在不同的日期下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45023148/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com