2011-04-01 40 views
6

我試圖用優異的quantmod包河如何顯示在R/quantmod的ChartSeries中/ candleChart地塊差距

通常R上的繪圖功能,以顯示財務數據的「差距」讓你表現出的差距使用NA值的情節,如下:

x<-1:10 
y<-2*x 
y[4:7]<-NA 
plot(x,y,type="l") 

我想做一些類似於R/quantmod的candleChart圖。但是,在繪圖之前會刪除包含NA的數據行(在chartSeries代碼中有na.omit命令執行此操作),所以我看不到如何執行此操作。

一個例子是:

require(quantmod) 

#Make some pretend data 
x<-0:30 
y<-100+20*sin(x) 
y.open<-y[-length(y)] 
y.close<-y[-1] 
val<-as.xts(cbind(y.open,y.open+5,y.close-5,y.close,1000),order.by=as.POSIXct(paste("2011-01-",x[-1],sep=''))) 
colnames(val)<-c("Open","High","Low","Close","Volume") 

#Plot this pretend data 
candleChart(val,theme="white") 

#Now try and make a "gap" in the middle of the data and plot it 
val2<-val 
val2[5:20,]<-NA 
candleChart(val2,theme="white") 

什麼是 「正確」 的方式做到這一點?我想我可以用我自己的這個函數版本覆蓋chartSeries(完全相同但沒有na.omit()調用),但是這看起來很激烈。

有沒有可能選擇做這種事情?我一直無法給谷歌有用的東西......

感謝, FTTB

回答

7

答案是不使用ChartSeries中,而較新的變種(開發技術上仍然)chart_Series。請注意下劃線。

chart_Series(val2) 

如果您正在尋找在quantmod更多的細節和財務使用R,我們是東道主,在這個月底在芝加哥的一個大型會議。更多信息可以在這裏找到:R/Finance 2011

希望有幫助,並希望能在芝加哥見到你!

+0

謝謝傑夫,您的評論非常感謝。 – fttb 2011-04-01 22:19:36