我是R和quantmod的新手,感谢您的帮助。 我想在quantmod中更改mace图的颜色。
library(quantmod)
getSymbols("AAPL")
chartSeries(AAPL)
addMACD() # this works
但是 addMACD(col = c('red','blue','green','black')出现以下错误。
addMACD(col = c('red','blue,yellow')) ifelse错误((macd [,1] - macd [,2])> 0,col [1],col [2]): 替换的长度为零 另外:警告信息: 在rep(是的,length.out = length(ans)): 'x'为NULL,因此结果为NULL
根据quantmod手册,addMACD有颜色选项。
THX。
答案 0 :(得分:1)
这似乎是addMACD
函数中的错误。
如果您查看其源代码(例如fix(addMACD)
),您会看到它:
col <- if (missing(col))
col <- c("#999999", "#777777", "#BBBBBB", "#FF0000")
因此,如果您定义col
,则上述行会为col
指定NULL。
如果您将这些行更改为
if (missing(col))
col <- c("#999999", "#777777", "#BBBBBB", "#FF0000")
或者只是完全删除它们并指定col
的默认值,该函数将按预期工作。
您可能想看看如何编辑R中的函数(以及相关讨论):What ways are there to edit a function in R?