Я пытаюсь создать функцию в r, которая выполняет проверку гипотез на основе метода начальной загрузки для среднего значения совокупности, которая может возвращать значение p для одного или двухсторонних тестов. Ниже приведен код, который я написал. Когда я вызываю функцию, ht(Delta$dep_delay, 322, 1000, s_size = length(Delta$dep_delay), "greater", "mean")
0 всегда выводится, независимо от того, какое значение я ввел. Я пытаюсь проверить, имеет ли средняя продолжительность вылета рейса авиакомпании Delta Airline из JFK более 5 минут.
sample_3054 <- function(data, reps=1000, s_size = length(data),
stats = c("mean", "median")){
data <- na.omit(data)
data <- as.data.frame(data)
do(reps) * summarise(sample_n(data,size = s_size, replace = TRUE),
sampled = case_when(stats == "mean" ~ mean(data),
stats == "median" ~ median(data)))
}
ht <- function(data, specifiedMean, reps = 1000, p = c("equals", "less", "greater"),
s_size = length(data), stats = c("mean", "median")){
data <- na.omit(data)
OBSMean <- mean(data)
newValue <- data - OBSMean + specifiedMean
c <- abs(specifiedMean - OBSMean)
RSample <- sample_30543210(newValue, reps = 1000, s_size = length(newValue), "mean")
ll <- specifiedMean - c
ul <- specifiedMean + c
if(p == "equals"){
(sum(RSample$sampled <= ll) + sum(RSample$sampled >= ul)) / reps
}else if(p == "less"){
(sum(RSample$sampled <= ll)) / reps
}else if(p == "greater"){
(sum(RSample$sampled >= ul)) / reps
}else{
print("Please choose "equals", "greater", or "less".")
}
}