z.prop = function(m, n, p0, alpha=0.05, alternative="two-sided"){ p_hat = m/n # оценка вероятности sd_p = sqrt(p_hat*(1-p_hat)/n) # дисперсия оценки z_stat = (p_hat - p0)/sd_p # наблюдаемое значение # В зависимости от типа альтернативы делаем расчёты if(alternative == 'two-sided'){ p_val <- 2*pnorm(-abs(z_stat)) z_crit <- qnorm(1-alpha/2) } if(alternative == 'lower'){ p_val <- pnorm(-abs(z_stat)) z_crit <- qnorm(alpha) } if(alternative == 'greater'){ p_val <- 1 - pnorm(abs(z_stat)) z_crit <- qnorm(1-alpha/2) } # Чтобы на экран выводилась основная информация (если нужно) cat('estimate: ', p_hat, '\n') cat('z_crit: ', z_crit, '\n') cat('z-stat: ', z_stat, '\n') cat('p-value: ', p_val, '\n') cat('alternative: ', alternative) # Возвращаем результаты проверки гипотезы в виде списка return( list(estimate = p_hat, z_crit = z_crit, z_stat = z_stat, p_val = p_val, alternative = alternative)) } result <- z.prop(52, 100, 0.5, alpha=0.01, alternative = 'greater') result$p_val # можно по именам из листа доставать разные циферки :3 # Ваш код # Ваш код # Ваш код # Ваш код # Ваш код df = read.csv('/Users/fulyankin/Yandex.Disk.localized/R/R_prob_data/gear.csv', sep=',') head(df) # Ваш код # Ваш код # Ваш код df = read.csv('/Users/fulyankin/Yandex.Disk.localized/R/R_prob_data/banner_click_stat.csv', sep='\t', header = FALSE) names(df) = c('banner_a', 'banner_b') head(df) # Ваш код df = read.csv('/Users/fulyankin/Yandex.Disk.localized/R/R_prob_data/df_vk_wise.csv', sep='\t') df = df[51:nrow(df),] head(df) # Ваш код # Ваш код # Ваш код # Ваш код # Ваш код df = read.csv('/Users/fulyankin/Yandex.Disk.localized/R/R_prob_data/marijuana-street-price.csv', sep=',') head(df) # Ваш код # Ваш код # Ваш код df = read.csv('/Users/fulyankin/Yandex.Disk.localized/R/R_prob_data/illiteracy.csv', sep='\t') head(df) qplot(Illit, Births, data=df) # Ваш код # Ваш код # Ваш код