R中的for循环中list()没有更新

时间:2018-11-19 19:32:45

标签: r list for-loop mle

我想使用mle2中的r函数估计偏正态分布的参数。我已经在下面复制了我的r函数。

library(bbmle)
library(sn)
y = c(rsn(n=50, xi=0, omega=1, alpha=1, tau=0, dp=NULL), rsn(n=50, xi=0, omega=1, alpha=6, tau=0, dp=NULL))
n= length(y)

sn.fit = function(xi, omega, alpha){
  -sum(dsn(y, xi=0, omega=1, alpha, log = TRUE))
}

parl = list()
for(i in 1:(n-1)){
  dat = list(y[1:i])
parl[[i]]= mle2(sn.fit, start = list(xi = 0, omega = 1, alpha = 1), data = dat)@coef

}
parll = do.call("rbind", parl)
parll

输出如下。

> parll
       xi omega    alpha
  [1,]  0     1 1.408533
  [2,]  0     1 1.408533
  [3,]  0     1 1.408533
  [4,]  0     1 1.408533
  [5,]  0     1 1.408533
  [6,]  0     1 1.408533
  [7,]  0     1 1.408533
  [8,]  0     1 1.408533
  [9,]  0     1 1.408533
 [10,]  0     1 1.408533
 [11,]  0     1 1.408533
 [12,]  0     1 1.408533

由于我的意图是为alpha估算y[1:i]的{​​{1}}。为什么我的结果没有更新到列表中?

谢谢。

0 个答案:

没有答案