Сгруппированная начальная загрузка, перестановка или рандомизация в - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть набор данных (baseEV), который выглядит как эти три столбца (но с большим количеством строк):

Ntree   Ntrans  Xi

1   1   0.1
2   1   0.1
3   1   0.1
4   1   7
5   1   7
1   3   0.1
2   3   0.1
3   3   9
4   3   6
5   3   3
1   4   0.1
2   4   11
3   4   9
4   4   6
5   4   3
1   5   0.1
2   5   10
3   5   4
4   5   2
5   5   4

описание базы данных Мне нужно проверить, как меняется статистика, если яПовторно сэмплируйте Xi, изменив Ntree, рассчитав статистику, а затем оценив статистику с помощью начальной загрузки:

D = (35 * Ntree-1) / SUM ([Xi])

Однако мне также нужночто когда я изменяю Ntree, чтобы увидеть, как влияет D, он не должен отбрасывать меньшие значения Ntree.Например, когда я вычисляю для Ntree = 4, мне нужен загрузчик, чтобы использовать строки для Ntree = 1,2 и 3 вместе с Ntree = 4, без использования данных для Ntree = 5.Но когда я применяю этот код:

library(boot) 
library(dplyr)
library(tidyr)
library(broom) 

AvgDEns <- function(data, indices) {
  data <- data[indices,]
  mean((35*(data$Ntree))-1)/sum((data$Xi))
}

bootresults2 <- baseEV %>%
  group_by(Ntree) %>%
  do(tidy(boot(data = ., statistic = AvgDEns , R = 200)))
bootresults2

Таким образом, результирующий загрузчик дает результаты только с учетом того, когда Ntree = 1, или Ntree = 2, или 3 и т. Д., Самостоятельно, но мне нужноПроцедура для сохранения строк с меньшим (Ntree) значением и вычисления функции с ними.Однако понятия не имею, как это сделать.Будем весьма благодарны за любые сведения о предлагаемых процедурах!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...