你如何增加R中包中函数的最大迭代次数(即maxit.scale
参数)?lmrob
robustbase
默认是 200,但我想增加它。
library(robustbase)
data(starsCYG, package="robustbase")
a1<-lmrob.control()
RlmST<-lmrob(log.light~log.Te,data=starsCYG,control=a1)
增加maxit.scale
;从您的问题中并不清楚您想要增加哪一个迭代计数中断,但我想这是maxit.scale
因为它是唯一默认设置为 200 的迭代计数。这里我增加到maxit.scale
201:
a1$maxit.scale<-201
RlmST<-lmrob(log.light~log.Te,data=starsCYG,control=a1)
无论如何,您可以以几乎相同的方式更改另一个:检查:
?lmrob.control
如果您说您使用的是 robustbase 包,这可能会有所帮助。
?lmrob
会弹出一个帮助页面,阅读它会指向lmrob.control
看起来像
lmrob.control(setting, seed = NULL, nResample = 500,
tuning.chi = NULL, bb = 0.5, tuning.psi = NULL,
max.it = 50, groups = 5, n.group = 400,
k.fast.s = 1, best.r.s = 2,
k.max = 200, maxit.scale = 200, k.m_s = 20,
refine.tol = 1e-7, rel.tol = 1e-7, solve.tol = 1e-7,
trace.lev = 0,
mts = 1000, subsampling = c("nonsingular", "simple"),
compute.rd = FALSE, method = "MM", psi = "bisquare",
numpoints = 10, cov = NULL,
split.type = c("f", "fi", "fii"), fast.s.large.n = 2000, ...)
与细节
k.fast.s
(对于 fast-S 算法):每个重新采样候选者的局部改进步骤(“I-steps”)的数量。
k.m_s
(对于 MS 算法):指定算法在经过多少不成功的细化步骤后停止。
best.r.s
(对于 fast-S 算法):要进一步迭代(即“精炼”)的最佳候选者的数量;在 Salibian-Barrera & Yohai (2006) 中表示为 t。
k.max
(对于 fast-S 算法):“完全”迭代的最佳候选者的最大细化步骤数。
maxit.scale
整数,指定 C 级find_scale()
迭代的最大次数。
所以你大概想改变其中之一。