Как отобразить среднее значение по загруженным выборкам в аккуратном фрейме данных - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь отобразить функцию, которая будет вычислять p_hat по образцам начальной загрузки, которые я ранее отобразил в моем фрейме данных.Я испытываю трудности с моей функцией или использованием карты, которая, как я могу сказать, находится в стадии разработки.

library(tidyverse)
library(rsample)
ttSample <- data.frame(grad =  c(0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1))

bootstrapper <- function(n) {bootstraps(data = ttSample, times = n)}
meanTaker <- function(columnVal) 
{
  for(i in 1:length(columnVal)) 
  {
     meanHolder <- vector("double", nrow(columnVal[[i]]))
     for(j in 1:nrow(columnVal[[i]]))
     {
         meanHolder[[j]] <- mean(as.data.frame(columnVal$splits[[j]])$grad)
     }
   mean(meanHolder)
   }
}

 bootFrame <-  data.frame(n = rep(c(250, 1000, 5000, 10000), 3), 
    confLev = rep(c(0.9, 0.95, 0.99))) %>%
     arrange(n, confLev) %>%
     mutate(alpha = 1 - confLev,
       upperCI = confLev + (alpha / 2),
       lowerCI = confLev - (alpha / 2),
       samples = map(ttSample, list),
       boots = map(.x = .$n, .f = bootstrapper)) %>%
     mutate(p_hat = map(.x = .$boots, .f = meanTaker))

1 Ответ

0 голосов
/ 23 сентября 2018

Необходимо помнить, что map применяет функцию к каждому элементу входа, а не ко всему входу.Имея это в виду, мы можем переписать meanTaker как

meanTaker <- function(boot) {
    grads <- sapply(boot$splits, function (split) split$data$grad)
    mean(grads)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...