Повторите функцию повторной выборки 1000 раз ? С помощью лапли?

#r

Вопрос:

Пожалуйста, выпустите меня! Я ценю любую помощь ! Спасибо!

У меня возникают проблемы при повторном повторном отборе проб в течение 1000 раз. Я попытался использовать replicate() для этого, но это не работает. Есть ли какой-нибудь другой способ сделать это? Может ли кто-нибудь показать мне, возможно ли это сделать с помощью lapply? Ниже приведен мой код:

 #sampling 1000 betas0 amp; 1 (coefficients) from the data get.beta=function(data,indices){   data=data[indices,] #let boot to select sample  lm.out=lm(y ~ x,data=data)  return(lm.out$coefficients) } n=nrow(data) get.beta(data,1:n)  bootcoe=boot(data,get.beta,R=1000) #generate 1000 random samples head(bootcoe$t) #look at the betas  

Из приведенного выше кода я могу получить 1000 бета-версий 0 и 1 путем случайной выборки данных. И я хотел бы сделать это 1000 раз, чтобы получить разные бета-версии. Как я должен это сделать, кроме репликации()?

Комментарии:

1. Так replicate(1000, {your_codez}) это не работает?

2. да, я пробовал rep(1000, функция ()), но не могу получить результат.

3. Я не говорил использовать function() . Вы должны использовать фигурные скобки.

4. К вашему сведению, replicate это оболочка для общего использования sapply для повторной оценки выражения. sapply сама по себе является удобной для пользователя версией и оболочкой lapply , которая возвращает вектор или матрицу вместо списка.

Ответ №1:

Это скорее расширенный комментарий, в котором я демонстрирую, что replicate это должно сработать. Вот пример CLT. Просто замените свои строки тем, что находится между фигурными скобками.

 x lt;- replicate(1000, {  mm lt;- runif(10)  mean(mm)  }) hist(x)  

введите описание изображения здесь

Комментарии:

1. Спасибо @Roman. Итак, в моем случае, что я должен поместить внутрь {} ? Я попытался поставить get.beta, но он выдает ошибки, и bootcoe работает в течение длительного времени. Установка как get.beta, так и bootcoe снова выдает ошибку.

2. Кроме того, почему в конце есть среднее значение(мм)? Спасибо!

3. @user2978129 последняя строка является результатом вашей функции. Вы должны поместить между фигурными скобками то, что вы хотите оценить…. n раз.