n <- 25
# conf interval
ci <- c(65, 77)
# sample mean
smean <- (ci[2]+ci[1]) %>%
divide_by(2)
# margin of error
me <- (ci[2]-ci[1]) %>%
divide_by(2)
# standard deviation
p <- .9
p2 <- p + (1-p)/2
t <- qt(p2, n-1)
se <- me/t
sd <- se * sqrt(n)
df <- data_frame(sample_mean = smean, margin_of_error = me, std_dev = sd)
knitr::kable(df, "html") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
sample_mean | margin_of_error | std_dev |
---|---|---|
71 | 6 | 17.53481 |
# me = z * se
# se = sd/sqrt(n)
# n = (z*sd/me) ^ 2
z <- 1.65
me <- 25
sd <- 250
n <- (((z * sd)/me)^2) %>%
ceiling %>%
print
## [1] 273
# me = z * se
# se = sd/sqrt(n)
# n = (z*sd/me) ^ 2
z <- 2.575
me <- 25
sd <- 250
n <- (((z * sd)/me)^2) %>%
ceiling %>%
print
## [1] 664
avg_diff <- -.545
sd_diff <- 8.887
n <- 200
se <- sd_diff/sqrt(n)
# t value
t <- (avg_diff-0)/se
# p value
p <- pt(t, n-1) %>%
print
## [1] 0.1934182
n <- 26
# automatics
m_auto <- 16.12
sd_auto <- 3.58
# manuals
m_manu <- 19.85
sd_manu <- 4.51
# diff
m_diff <- m_auto - m_manu
# sd diff
se <- sqrt((sd_auto^2/n) + (sd_manu^2/n))
# t value
t <- (m_diff - 0)/se
p <- pt(t, n-1) %>%
print
## [1] 0.001441807
mu <- c(38.67, 39.6, 41.39, 42.55, 40.85)
sd <- c(15.81, 14.97, 18.1, 13.62, 15.51)
n <- c(121, 546, 97, 253, 155)
data <- data_frame(mu, sd, n)
n <- sum(data$n)
k <- length(data$mu)
# degrees of freedom
df <- k - 1
dfr <- n - k
# f-stat
prf <- .0682
f_stat <- qf(1 - prf, df, dfr)
# msd
msd <- 501.54
msr <- msd / f_stat
ssd <- df * msd
ssr <- 267382
# sst = ssd + ssr
sst <- ssd + ssr
dft <- df + dfr
final_df <- data_frame(df = c(df, dfr, dft), sum_sq = c(ssd, ssr, sst), mean_sq = c(msd, msr, NA), f_val = c(f_stat, NA, NA), prf = c(prf, NA, NA))
knitr::kable(final_df, "html") %>%
kable_styling(bootstrap_options = c("striped", "hover", "condensed", "responsive"))
df | sum_sq | mean_sq | f_val | prf |
---|---|---|---|---|
4 | 2006.16 | 501.5400 | 2.188931 | 0.0682 |
1167 | 267382.00 | 229.1255 | NA | NA |
1171 | 269388.16 | NA | NA | NA |