Вернуть 2 матрицы из загрузки R - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь загрузить функцию и хочу, чтобы функция загрузки возвращала более 1 матрицы:

library(boot)
r=50;c=50
m1 <- (sample(1000,r*c,T))
nboot = 100
boot_fun <- function(m,b){
  m <- m[b]
  mn <- mean(m)
  vr <- var(m)
  tmp <- list(mn,vr)
  return(tmp)
}
bmat <- boot(data=m1,statistic=boot_fun,R=nboot)

здесь, я хочу вернуть vr и mn, но это изкурс не работает:

Ошибка при загрузке (data = m1, статистика = boot_fun, R = nboot) неверное количество индексов в матрице

Я могу загрузить дваждыно это занимает гораздо больше времени.Есть ли способ вернуть более одного объекта из функции загрузки?

1 Ответ

0 голосов
/ 26 сентября 2018

Ну, я чувствую себя глупо.Ответ на мою проблему прост:

Я просто присоединяю дополнительную информацию к возвращаемому вектору в функции загрузки, а позже я просто подставляю матрицу bmat$t.

Так что ответ можетвыглядеть так:

library(boot)
r=50;c=50
m1 <- (sample(1000,r*c,T))
nboot = 100
boot_fun <- function(m,b){
  m <- m[b]
  mn <- mean(m)
  vr <- var(m)
  return(c(mn,vr))
}
bmat <- boot(data=m1,statistic=boot_fun,R=nboot)
mn <- bmat$t[,1]
vr <- bmat$t[,2]

Надеюсь, это может кому-то помочь.

...