個々の株の時系列を含む2つのデータフレームを結合したいので、各列は株に関する情報を表します。したがって、データフレーム1には株価があり、データフレーム2にはP/Eレシオがあります。私の目標は、私はこのフォーマットのデータフレームを必要とするパッケージのバックテストで使用できるデータフレームを準備することです:バックテスト用に2つのデータフレームを結合する
date PRICE symbol
date1 4.2 AAPL
date1 6.3 MSFT
date1 2.2 GE
date2 4.1 AAPL
date2 6.3 MSFT
date2 2.5 GE
ので、データセットが別にグループ化されます。このような構造を有している
library('backtest')
data(starmine)
月。私のデータは、すべての株式とすべての日付について、関心のある変数(価格、PE比率など)をそれぞれ含む複数のデータフレームに入っています。例:
dates <- seq(as.Date("1995/1/1"), by = "month", length.out = 10)
a = sample(0:1,10,rep=TRUE)
b = sample(0:1,10,rep=TRUE)
c = sample(0:1,10,rep=TRUE)
prices = data.frame(dates,a,b,c)
a = sample(0:1,10,rep=TRUE)
b = sample(0:1,10,rep=TRUE)
c = sample(0:1,10,rep=TRUE)
pe = data.frame(dates,a,b,c)
することができます私は、スターマインと同じ構造を得るための方法でDF1とDF2をマージすることができますどのように誰ですか?私はこのような何かを考えた:
> total <- merge(df1,df2,by=colnames)
Error in as.vector(x, mode) :
cannot coerce type 'closure' to vector of type 'any'
これは私が取得したい構造体である:
date price pe symbol
1995/1/1 4.2 0.5 a
1995/1/1 6.3 0.4 b
1995/1/1 2.2 0.3 c
1995/2/1 4.1 0.4 a
1995/2/1 6.3 0.2 b
1995/2/1 2.5 0.1 c
1995/3/1 4.2 0.5 a
1995/3/1 6.3 0.4 b
1995/3/1 2.2 0.3 c
1995/4/1 4.1 0.4 a
1995/4/1 6.3 0.2 b
1995/4/1 2.5 0.1 c
'df2'の' id'とは何ですか? – AntoniosK
申し訳ありませんが、前の試行のタイプミスです。それを指摘してくれてありがとう。私はそれを修正するつもりです。 –
あなたの質問のように見えるのは、再形成し、マージしないことです。たぶん私は何かが欠けているでしょう。しかし、 'df1'と' df2'のそれぞれの形を 'starmine'のような形に変形することができます。' starmine'は 'a'、' b'、 'c'のような値を持ちます。それはあなたが欲しいものですか?そうでない場合は、あなたの理想的な出力がどのようになると思いますか? – AntoniosK