данные имеют 101 значение, почему результат имеет 303 значения? - PullRequest
0 голосов
/ 23 марта 2019

Данные здесь - это данные «продаж» с двумя столбцами цена и объем продаж и 16 строками, например,

price sales
49    81996
46    91735
50    70830
45    101192
51    78319
47    105369
47    68564
46    95523
49    88834
46    89511
45    107836
52    81410
50    67817
54    59207
50    83310
46    71431

в приведенном ниже коде. Используя «dim (my.boot.price)», это может бытьпоказал, что у нас есть 101 значения во входных данных, но результаты показывает нам, у нас есть 303 строки.Зачем?Пожалуйста, исправьте прилагаемый скрипт.

#=== bootstrapping prediction price range
library(boot)

# bootstrap function 
my.boot <- function(formula, data, indices, price) {
  d <- data[indices,] 
  fit <- lm(formula, data=d)

  my.new.data<-data.frame(price)
  pred_interval <- predict(fit, newdata=my.new.data, interval="prediction",
                           level = 0.95)
  colnames(pred_interval)[2:3]<-c("pred.lwr","pred.upr")
  # return the prediction 
  return(pred_interval)
} 

###############################################
# run the bootstrap 
# determine the single value to bootstrap
my.boot.price=data.frame(price=seq(45,55,.1))
dim(my.boot.price)
results <- boot(data=sales, statistic=my.boot, 
                R=2000, formula=sales~price, price=my.boot.price)

# view results
results
...