0
我想添加一個開放價格作爲一個新的行在」SPY「數據框的末尾在生產使用quantmod包,我用下面的代碼,以rbind新行,但我得到一個錯誤如何克服錯誤:「試圖在一個小於兩維的對象上設置'colnames'在xts對象
# rm(list = ls()) # generally considered as bad manner in an MWE
require(quantmod)
options(scipen=999)
spy <- getSymbols(("SPY") , src = 'yahoo', from = '2016-01-01', auto.assign = T)
spy<-cbind(SPY)
tail(SPY)
SPY.Open SPY.High SPY.Low SPY.Close SPY.Volume SPY.Adjusted
2016-01-14 189.55 193.26 187.66 191.93 240795600 191.93
2016-01-15 186.77 188.76 185.52 187.81 324846400 187.81
2016-01-19 189.96 190.11 186.20 188.06 190196000 188.06
2016-01-20 185.03 187.50 181.02 185.65 280016900 185.65
2016-01-21 186.21 188.87 184.64 186.69 189174000 186.69
2016-01-22 189.78 190.76 188.88 190.52 163849600 190.52
我想插入新行手動進間諜數據集,所以我試圖創建一個新的xts對象,並使用rbind
函數,但我得到一個錯誤後,這些行:
q <- c("2016-01-25",100,200,200,200,200,200) # creating the data
colnames(q) <- colnames(SPY) # creating column names as in SPY
但是我得到了一個錯誤:
Error in `colnames<-`(`*tmp*`, value = c("SPY.Open", "SPY.High", "SPY.Low", :
attempt to set 'colnames' on an object with less than two dimensions # creating the column names
如何將這個手工製作的行添加到數據框的頂部?
'q'是一個載體。一個向量沒有列名。你可能希望'q < - data.frame(100,200,200,200,200,200)'但要小心'q'和'SPY'的'class'。 –
你好@Pascal,我用你的建議和比使用rbind,但我得到這個錯誤:s <-rbind(SPY,q) 警告消息: 在rbind(SPY,q): 結果的列數不是一個向量長度的倍數(arg 2) – mql4beginner
請參閱下面的答案。 –