我有一些数据帧具有不同数量的列和不同名称的列,我想将它们绑定在一起。我想将euro.fix.data dataframe绑定到euro.prefix.data数据帧。我想这可能涉及复制列并重命名它们以使data.frames保持一致,但我正在寻找一种更简单的方法。无论如何,如果数据帧的列数相同,那么忽略命名约定并简单地绑定?
在任何情况下,我甚至无法确定如何复制数据帧列而不进行硬编码显式赋值,因为我希望数据帧具有列数。
期望的输出会是这样的:
epd <- euro.fix.data[which(euro.fix.data$date >= init.euro.fix.date), ]
df <- data.frame(date = epd$date, DEM.Curncy = epd$EUR.Curncy, ATS.Curncy = epd$EUR.Curncy, BEF.Curncy = epd$EUR.Curncy, NLG.Curncy = epd$EUR.Curncy, FIM.Curncy = epd$EUR.Curncy, FRF.Curncy = epd$EUR.Curncy, IEP.Curncy = epd$EUR.Curncy, ITL.Curncy = epd$EUR.Curncy, PTE.Curncy = epd$EUR.Curncy, ESP.Curncy = epd$EUR.Curncy, DKK.Curncy = epd$EUR.Curncy)
results <- rbind(euro.prefix.data, df)
显然,这是一个非常糟糕的解决方案。我正在寻找可以推广的东西。 一个开始就是简单地能够创建一个数据框,这只是在列上复制多次。
任何指导意见。谢谢。
head(euro.prefix.data)
date DEM.Curncy ATS.Curncy BEF.Curncy NLG.Curncy FIM.Curncy FRF.Curncy IEP.Curncy ITL.Curncy PTE.Curncy
1 1988-12-30 -0.000677 -0.000721 -0.0009014423 -0.000649 0.000090 0.000099 -0.001141827 -0.0004649038 0.000935
2 1989-01-06 -0.000910 -0.000608 -0.0009134615 -0.000830 0.000384 -0.000323 -0.001153846 -0.0004711538 0.000674
3 1989-01-13 0.000109 0.001022 -0.0009134615 0.000205 0.000971 0.000600 -0.001153846 -0.0004711538 0.000660
4 1989-01-20 -0.000990 0.001100 -0.0009134615 0.000060 -0.000029 0.000199 -0.001153846 -0.0004711538 0.002389
5 1989-01-27 -0.000134 -0.001147 -0.0009134615 -0.001331 -0.000989 -0.001459 -0.001153846 -0.0004711538 -0.000821
6 1989-02-03 -0.000133 -0.001151 -0.0010697115 -0.001743 -0.000778 0.000137 -0.001310096 -0.0006197115 0.000695
ESP.Curncy DKK.Curncy
1 -0.001635 -0.000055
2 0.002641 -0.003195
3 0.003452 -0.001496
4 -0.001926 -0.000402
5 0.001750 -0.001642
6 -0.000844 -0.001076
> head(euro.fix.data[which(euro.fix.data$date >= init.euro.fix.date), ])
date EUR.Curncy
105 1999-01-01 -0.0004074215
106 1999-01-08 -0.0003545854
107 1999-01-15 -0.0003652404
108 1999-01-22 -0.0003650181
109 1999-01-29 -0.0003209615
110 1999-02-05 -0.0003106008
答案 0 :(得分:0)
试试这个......请注意,这是一个猜测,因为我的问题演示几乎与其他评论者一样困难:
post.fix <- data.frame( date=euro.prefix.data$date,
stack(euro.prefix.data[-1])
这显示了结果的结构,这显然是无稽之谈,但表明您可能需要保留有关正在记录哪种货币的信息,而这不是您当前的问题描述似乎正在考虑的内容。通过R的论证回收过程复制日期。
> str(data.frame(mpg=mtcars$mpg, stack(mtcars[-1]) ))
'data.frame': 320 obs. of 3 variables:
$ mpg : num 21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
$ values: num 6 6 4 6 8 6 8 4 4 6 ...
$ ind : Factor w/ 10 levels "am","carb","cyl",..: 3 3 3 3 3 3 3 3 3 3 ...