#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
раз.