0
我使用getSymbols
從雅虎股票導入數據R.合併R中根據日期
當我將它存儲在一個數據幀,它在下面的格式。
IDEA.BO.Open IDEA.BO.High IDEA.BO.Low IDEA.BO.Close IDEA.BO.Volume
2007-03-09 92.40 94.25 84.00 85.55 63599400
2007-03-12 85.55 89.95 85.55 87.40 12490900
2007-03-13 88.50 91.25 86.20 89.85 16785000
2007-03-14 87.05 90.85 86.60 87.75 7763800
2007-03-15 90.00 94.00 88.80 91.45 14808200
2007-03-16 92.40 93.65 91.25 92.40 6365600
現在日期列沒有名字。
我想根據日期導入2個股票數據併合並收盤價格(任意一組隨機行之間)。問題是,日期列未被識別。
我想我的最終結果是這樣的。
IDEA.BO.Close BHARTIARTL.BO.Close
2007-03-12 123 333
2007-03-13 456 645
2007-03-14 789 999
我試過如下:
> c <- merge(Cl(IDEA.BO),Cl(BHARTIARTL.BO))
> c['2013-08/']
IDEA.BO.Close BHARTIARTL.BO.Close
2013-08-06 NA 323.40
2013-08-07 NA 326.80
2013-08-08 157.90 337.40
2013-08-09 157.90 337.40
上的Excel相同的數據是這樣的:
8/6/2013 156.75 8/6/2013 323.4
8/7/2013 153.1 8/7/2013 326.8
8/8/2013 157.9 8/8/2013 337.4
8/9/2013 157.9 8/9/2013 337.4
我不明白,在R中的NA值背後的原因和方式來獲得沒有NA值的合併數據。
-1,不顯示你嘗試過什麼。爲什麼你要轉換成data.frame?將它們保留爲xts對象,然後調用'merge(Cl(IDEA.BO),Cl(BHARTIARTL.BO))'。有一些例子說明如何在整個地方做到這一點。 –
好吧,這是我做的。 D3 < - as.data.frame(IDEA.BO) GLD < - 動物園(D3 [1],as.Date(D3 [1,7])) 我發現了該錯誤消息: 在'[.data.frame'誤差(D3,...,7):選擇的未定義的列 此外:警告消息: 在動物園(D3 [1,7],as.Date(D3 [1])): 一些如果'order.by'中的索引條目不是唯一的,則「動物園」對象的方法不起作用 我想這是因爲IDEA.BO存儲在d3中被轉換爲只有6列。 我的想法是,日期列將是第一列,調整後的價格列將是第七列。 – user2127116
所以你轉換到data.frame,所以你可以創建一個動物園對象?當你可以調用'as.zoo(IDEA.BO)'時,這是非常低效的。你不應該假設數據打印是如何存儲數據的。 'ncol(IDEA.BO)'會爲你節省很多麻煩。 –