Я новичок в R и пытаюсь вычислить стандартное отклонение (sd) начальной загрузки и связанную с ним стандартную ошибку в 30 окнах сканирования. Приведенная ниже функция выполняет соответствующее окно качения, если я просто хочу sd. Но когда я добавляю функцию bootstrap с помощью загрузочного пакета, я получаю указанную ниже ошибку. Я понимаю, что я пытаюсь сохранить результаты начальной загрузки в вектор, который не соответствует размеру. Кто-нибудь имеет какие-либо советы о том, как хранить только загрузочный sd и связанный stderror для каждого окна в строках новой матрицы? Цель состоит в том, чтобы затем построить sd и соответствующие доверительные интервалы 95% для каждого окна по времени. Заранее благодарю за любую помощь.Как вычислить загруженные загрузочные значения и доверительные интервалы в R
> head(data.srs)
LOGFISH
1 0.8274083
2 1.0853433
3 0.8049845
4 0.8912097
5 1.3514569
6 0.8694499
###Function to apply rolling window
rollWin <- function(timeSeries, windowLength)
{
data<-timeSeries
nOut <- length(data[, 1]) - windowLength + 1
out <- numeric(nOut)
if (length(data[,1]) >= windowLength)
{
for (i in 1:nOut)
{
sd.fun <- function(data,d)sd(data[d], na.rm = TRUE)
out[i] <- boot(data[i:(i + windowLength - 1), ], sd.fun, R=1000)
}
}
return (list(result=out))
}
###run rolling window function. ex. rollWin(data, windowlength)
a.temp<-rollWin(data.srs,30)
> warnings()
Warning messages:
1: In out[i] <- boot(data[i:(i + windowLength - 1), ], sd.fun, ... :
number of items to replace is not a multiple of replacement length
Благодарим за ответ. Если я не понимаю, похоже, что ваш метод отменяет все временные ряды, мне нужно выполнить повторную выборку в каждом движущемся окне. Поэтому, если первое окно содержит последние 30 наблюдений, функция бутстрапа применяется только к этому окну (эти 30 наблюдений). Затем сохраните средний загруженный sd и доверительные интервалы в строке новой матрицы. Затем окно скользит над одним наблюдением и повторяется до конца временного ряда. – Gladeslab
@ Gladeslab ok - дайте мне несколько минут, чтобы исправить это. –
@ Gladeslab проверить изменения. Это просто тонкое изменение в репликации. Приветствия. –