У меня есть некоторые кадры данных с различным количеством столбцов и столбцами с разными именами, которые я хочу связать вместе. Я бы хотел, чтобы строка привязывала файл данных euro.fix.data к фрейму данных euro.prefix.data. Я предполагаю, что это может включать в себя копирование столбцов и их переименование, поэтому data.frames совместимы, но я ищу более простой способ. Нужно ли вообще игнорировать соглашение об именах и просто связывать, если кадры данных имеют одинаковое количество столбцов?связать разный размер разные данные dataframes
В любом случае, я даже не могу определить, как скопировать столбец фрейма данных, не делая жестко заданное явное назначение столько раз, сколько хотелось бы, чтобы в кадре данных были столбцы.
желательно из пут будет что-то вроде:
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
Посмотрите на '? Merge'. – jbaums
спасибо @jbaums. насколько я знаю, по крайней мере, как я его использовал, merge() является объединением и полагается на сопоставление общих значений данных в определенных столбцах (или строках?). в любом случае, нет общих значений данных в двух кадрах данных. его стек, который я пытаюсь сделать, или «привязка» – user3385769
Это может помочь показать, как будет выглядеть ваш желаемый результат, если базовое слияние не является вашей целью. – cdeterman