two_sample_mean_difference_ci = function(x_data, y_data, alpha, equal_var=TRUE){ n = length(x_data) xbar = mean(x_data) sx2 = var(x_data) m = length(y_data) ybar = mean(y_data) sy2 = var(y_data) if( equal_var ){ sp2 = ( (n-1)*sx2 + (m-1)*sy2 ) / ( n+m-2 ) nu = n+m-2 se = sqrt(sp2 * (1/n + 1/m)) }else{ theta_hat = sx2/sy2 numer = (theta_hat + n/m)^2 denom = theta_hat^2/(n-1) + (n/m)^2/(m-1) nu = round(numer/denom) se = sqrt( sx2/n + sy2/m ) } t_crit = qt( 1-alpha/2, nu ) ci = xbar - ybar + t_crit * se * c(-1, +1) } two_sample_variance_ratio_ci = function(x_data, y_data, alpha){ n = length(x_data) sx2 = var(x_data) m = length(y_data) sy2 = var(y_data) f = sx2/sy2 f_crit_L = qf( alpha/2, m-1, n-1 ) f_crit_R = qf( 1-alpha/2, m-1, n-1 ) ci = f * c( f_crit_L, f_crit_R ) } success_probability_difference_ci = function(x, n, y, m, alpha){ p_x = x/n p_y = y/m z_crit = qnorm(1-alpha/2) var_x = p_x*(1- p_x) var_y = p_y*(1- p_y) se = sqrt( var_x/n + var_y/m ) ci = p_x - p_y + z_crit * se * c(-1, +1) } # Section 5; Question 1: # early_coinage = c( 5.9, 6.8, 6.4, 7.0, 6.6, 7.7, 7.2, 6.9, 6.2 ) late_coinage = c( 5.3, 5.6, 5.5, 5.1, 6.2, 5.8, 5.8 ) ci = two_sample_mean_difference_ci(early_coinage, late_coinage, alpha = 0.1) print(ci) # Section 5; Question 2: # with_dome = c( 100.0, 58.6, 93.5, 83.6, 84.1 ) without_dome = c( 76.4, 84.2, 96.5, 88.8, 85.3, 79.1, 83.6 ) ci = two_sample_mean_difference_ci(early_coinage, late_coinage, alpha = 0.05) print(ci) # Section 5; Question 3: # source('case_study_9_2_3_data.R') ci = two_sample_mean_difference_ci(large_sales, small_sales, alpha = 0.01) print(sprintf('Equal variances: ci= (%f, %f)', ci[1], ci[2])) ci = two_sample_mean_difference_ci(large_sales, small_sales, alpha = 0.01, equal_var=FALSE) print(sprintf('Unequal variances: ci= (%f, %f)', ci[1], ci[2])) # Section 5; Question 6: # source('case_study_9_2_1_data.R' ) ci = two_sample_variance_ratio_ci(DF[DF$author=='Twain',]$prop, DF[DF$author=='QCS', ]$prop, alpha= 0.05) print(ci) # Section 5; Question 7: # normal = c( 62, 60, 78, 62, 49, 67, 80, 48 ) pericarditis = c( 24, 56, 42, 74, 44, 28 ) ci = two_sample_variance_ratio_ci(normal, pericarditis, alpha=0.05) print(ci) # Section 5; Question 9: # ci = success_probability_difference_ci(126, 782, 111, 758, alpha=0.05) print(ci) # Section 5; Question 10: # x = 55 # men n = 160 y = 60 # women m = 192 ci = success_probability_difference_ci(x, n, y, m, alpha=0.2) print(ci) # Section 5; Question 12: # ci = success_probability_difference_ci(106, 3522, 13, 115, alpha=0.05) print(ci)