如何一次性合并(有效方式)多个数据框?

杜沙尔

我想一次合并多个数据框。在该方法下,我当前正在使用合并。我的资料:

df <- data.frame('ID'=c('A','B','C'),'YEAR'=c('2020','2020','2020'),'MONTH'=c('1','1','1'),'DAY'=c('16','16','16'),'HOUR'=c('15','15','15'),'VALUE1'=c(1,2,3))

df1 <- data.frame('ID'=c('A','B','C'),'YEAR'=c('2020','2020','2020'),'MONTH'=c('1','1','1'),'DAY'=c('16','16','16'),'HOUR'=c('15','15','15'),'VALUE2'=c(3,4,5))

df2 <- data.frame('ID'=c('A','B','C'),'YEAR'=c('2020','2020','2020'),'MONTH'=c('1','1','1'),'DAY'=c('16','16','16'),'VALUE3'=c(6,7,8))

df3 <- data.frame('ID'=c('A','B','C'),'YEAR'=c('2020','2020','2020'),'MONTH'=c('1','1','1'),'VALUE4'=c(9,10,11))

我的合并方法:

df4 <- merge(df,df1,by=c('ID','DAY','MONTH','YEAR','HOUR'),all.x=T)
df5 <- merge(df4,df2,by=c('ID','DAY','MONTH','YEAR'),all.x=T)   
df6 <- merge(df5,df3,by=c('ID','MONTH','YEAR'),all.x=T) 

我的输出:

ID MONTH YEAR DAY HOUR VALUE1 VALUE2 VALUE3 VALUE4
1  A     1 2020  16   15      1      3      6      9
2  B     1 2020  16   15      2      4      7     10
3  C     1 2020  16   15      3      5      8     11

是否有任何好的合并方法可以使代码更有效。感谢您的帮助。

K

您可以merge中使用Reduce

Reduce(merge, list(df, df1, df2, df3))
#  ID YEAR MONTH DAY HOUR VALUE1 VALUE2 VALUE3 VALUE4
#1  A 2020     1  16   15      1      3      6      9
#2  B 2020     1  16   15      2      4      7     10
#3  C 2020     1  16   15      3      5      8     11

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何通过 Typeahead 和 Bloodhound 一次性使用多个数据集?

如何有多个一次性参数

如何使用两个数据框基于公式创建多个矩阵并一次性将这些矩阵相加?

如何一次性修改嵌套数据的每个数据集的所有列?

如何一次性汇总一个数据的天数?

如何搜索数据库并一次性返回整个数组?

如何在多个列和多个条件下有效地合并2个数据框

付款有效,但用户在Paypal页面上不知道是订阅还是一次性付款

C++ 有效的容器方法,用于一次性查找但多次遍历和访问

如何在骆驼有一次性路线?

如何联接三个表以一次性获得所有数据?

第一次如何一次性支付多个订阅费用。条纹

一次检查多个数据框列(灵活方式)

如何一次性合并两个data.tables和互补列数据?

如何一次性检测和删除熊猫数据框各列中的离群值?

有多个实例时如何一次性杀死一个应用程序

如何使用angularjs将多个表单数据一次性发送到服务器?

firebase 动态链接中是否有任何内置功能使其一次性使用有效

一次性写“ if”的最优雅方式

有没有办法一次减去多个数据框列?

更改 Wagtail 页面所有者的“一次性”方式

可以一次创建多个数据框吗?

一次性构建多个buildvariant(AndroidStudio)

XSLT 一次性输出多个 XML 文件

如何一次性显示项目列表框和索引

如何一次在多个数据框中运行脚本?

如何使用Keras.to_Categorical在dataFrame中一次性对多个列进行一次热编码?

如何通过数据帧一次有效地计算行数

如何一次性将多个列添加到data.frame中?