R вычислить стандартную ошибку с помощью начальной загрузки, Ошибка в is.data.frame(x):
Я использовал следующий программный код, чтобы оценить стандартную ошибку с помощью начальной загрузки для набора движения Libras Data:
mydata<-read.table('C:/Users/Desktop/libra.txt', sep=',', header=TRUE)
head(data)
custom.boot <- function(times, data=mydata) {
boots <- rep(NA, times)
for (i in 1:times) {
boots[i] <- sd(sample(data, length(data), replace=TRUE))/sqrt(length(data))
}
boots
}
# Mean standard error
mean(custom.boot(times=1000))
Но я получил следующую ошибку:
Error in is.data.frame(x) :
(list) object cannot be coerced to type 'double'
Не могли бы вы помочь мне разобраться в проблеме и дать совет, как ее можно решить? Заранее спасибо!
1 ответ
mydata
объект читается как 395 х 91 data.frame
который custom.boot
борется с. Когда я добавил изменился на data = mydata[, 1]
функция работала без ошибок. Если вы хотите оставить свою функцию как есть, я бы либо перебрал каждый столбец, либо сложил все столбцы в один длинный столбец.
РЕДАКТИРОВАТЬ:
Если вы хотите перебрать все столбцы этого data.frame
Я бы написал цикл, похожий на тот, который у вас есть, но один, который разрезает по каждому столбцу:
for(i in 1:ncol(mydata)){
custom.boot(times=1000, data=mydata[, i])
print(mean(custom.boot(times=1000)))
}