首页 > 解决方案 > 如何将列表值存储到矩阵中

问题描述

set.seed(650)
library(maxLik)
y = c(rnorm(15,1,1), rnorm(15,3,1))
dat = data.frame(y)
B = 3 # number bootstrap sample
n = length(dat$y)
n1 = 15
boot.samples = matrix(sample(dat$y, size = B * n, replace = TRUE), n, B)
ml = list()
boot.l = 0
va.l = NULL
for (j in 1:B) {
  boot.l = boot.samples[, j]
  for (i in 1:n) {
    LLl <- function(param) {
      mul <- param[1]
      sigmal <- param[2]
      sum(log(dnorm(dat[1:i, ], mul, sigmal)))
    }
    ml[[i]] = coef(maxLik(logLik = LLl, start = c(mul = 1, sigmal = 1)))
  }
  va.l = matrix(unlist(ml), n-1, B*2, byrow = TRUE)
}
va.l

以下是我的输出

在此处输入图像描述 但是,当我打印列表时,我有以下输出。 在此处输入图像描述

我的问题是如何在第一列中获得 j = 1 的 mul 估计值,第二列中 j = 1 的 sigmal 估计值和第三列中 j = 2 的 mul 估计值,第四列中 j = 2 的 sigmal 估计值等等?

有没有其他方法可以做到这一点?谢谢您的帮助。

标签: rdataframematrix

解决方案


推荐阅读