gpt4 book ai didi

r - 设置当前子图

转载 作者:行者123 更新时间:2023-12-04 09:41:30 26 4
gpt4 key购买 nike

我无法为 add_TA 函数(quantmod 包)设置当前子图。

curon = 2

add_TA(x, type = "l",col = "blue", lwd = 2, on=curon)

(在子图2上加一条线)

R 给我这个错误:

Error in plot_ta(x = current.chob(), ta = get("x"), on = curon, taType = NULL,  : 
object 'curon' not found.

命令:

add_TA(x, type = "l",col = "blue", lwd = 2, on=2) 

虽然工作正常。

注意:只有在函数中使用时才会出现问题,在全局范围内不会出现。这是一个完整的例子:

library(quantmod)

test=function(){
x=xts(runif(10),Sys.Date()+1:10)
z=1/x
chart_Series(x)
add_TA(x, type = "l",col = "green", lwd = 2) #OK
add_TA(z, type = "l",col = "blue", lwd = 2, on=2) #OK
curon = 2;add_TA(z, type = "l",col = "red", lwd = 2, on=curon) #FAILS
}

test()

最佳答案

我认为你一定在某个地方有错字,在你没有显示的代码中,因为它对我有用:

library(quantmod)
x=xts(runif(10),Sys.Date()+1:10)
z=1/x

chart_Series(x)
add_TA(x, type = "l",col = "green", lwd = 2)
curon = 2
add_TA(z, type = "l",col = "blue", lwd = 2, on=curon)

(顺便说一句,这就是人们所说的“完全可重现的最小示例”的意思;您可以将其复制并粘贴到新的 R session 中。除非它对您的问题很重要,否则数据可以是随机的。)

更新:在使用一个函数时重现了这个问题,我确实找到了一个解决方法(我认为是一个 quantmod 错误)。如果您将变量命名为 on 而不是 curon 那么它就可以工作:

library(quantmod)

test=function(){
x=xts(runif(10),Sys.Date()+1:10)
z=1/x
chart_Series(x)
add_TA(x, type = "l",col = "green", lwd = 2)
on=2;add_TA(z, type = "l",col = "blue", lwd = 2, on=on)
}

关于r - 设置当前子图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10346269/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com