存储信息()
问题描述:
我有我提供以下一个例子,如果简单线性回归一般功能:存储信息()
x = 1:30
y = 0.7 * x + 32
Data = rnorm(30, mean = y, sd = 2.5);
lin = function(pars = c(grad,cons)) {
expec = pars[1] * x + pars[2];
SSE = sum((Data - expec)^2)
return(SSE)
}
start_vals = c(0.2,10)
lin(start_vals)
estimates = optim(par = start_vals, fn = lin);
## plot the data
Fit = estimates$par[1] * x + estimates$par[2]
plot(x,Data)
lines(x, Fit, col = "red")
所以这是直截了当。我想要的是存储对最后一组参数的期望,以便一旦完成优化,我就可以查看它们。我一直在使用一个全球集装箱并试图如果执行函数填充它尝试,但它不能正常工作,如
Expectation = c();
lin = function(pars = c(grad,cons)) {
expec = pars[1] * x + pars[2];
Expectation = expec;
SSE = sum((Data - expec)^2)
return(SSE)
}
start_vals = c(0.2,10)
estimates = optim(par = start_vals, fn = lin);
Expectation ## print the expectation that would relate to estimates$par
我知道,这是微不足道的功能之外做的,但我的实际问题(这与此类似)要复杂得多。基本上我需要返回无法追溯计算的内部信息。任何帮助深表感谢。
答
,你应该在你的lin
功能,Expectation <<- expec
,使用<<-
代替=
运营商<<-
和->>
通常只用在函数中,并导致通过母体环境中做了一个搜索赋值的变量的现有定义。