我试图使用lm()和optim()来分析线性回归的结果。
实际上,lm()函数的结果很容易通过相关函数进行绘图或分析,例如:
fit <- lm(y~x1+x2, data=dat)
# I can plot 'Fitted values', 'Theoretical Quantiles', 'Fitted values' and 'Leverage' by plot() easily.
plot(fit)
durbinWatsonTest(fit)
但是plot()或其他函数(例如:
)无法接受来自optim()的结果 > result.opt <- optim(par = c(0, 0, 0, 0,0, 0, 0),
min.OLS,
data = dat
)
> result.opt
$par
[1] 811.06933 285.10077 -476.69048 144.11307 273.46945 -30.65947 -279.02271
$value
[1] 152364.6
$counts
function gradient
502 NA
$convergence
[1] 1
$message
NULL
> plot(result.opt)
Error in xy.coords(x, y, xlabel, ylabel, log) :
'x' is a list, but does not have components 'x' and 'y'
什么包或方法可以将结果分析作为绘制lm的结果?
提前致谢。
答案 0 :(得分:0)
你要求的是optim
的情节方法,但我相信optim
会返回一个没有特定类的列表,因此无法分配它一个方法。您可以轻松编写一个小函数,该函数抓取输出列表的par
元素并使用它生成要绘制的数据。