Статистические вычисления
Задание 1
Выведите среднее и медиану по ряду vec <- rnorm(100, mean = 5, sd =2). Для генерации используйте зерно 1234.
Задание 2
Выведите метрики изменчивости (размах, дисперсия, стандартное отклонение) для вектора vec.
Задание 3
Выведите значения квартилей вектора vec (0% и 100% в том числе).
quantile(vec)## 0% 25% 50% 75% 100%
## 0.3086046 3.2093455 4.2307441 5.9424121 10.0979821
Задание 4
Выведите процентили вектора vec, до 75% включительно с шагом 25%, далее до 95% с шагом в 5% и далее с шагом в 1%. Значения округлите до второго знака.
Задание 5
Выведите базовые описательные статистики (среднее, медиана, квартили, размах).
Можно собрать статистики из отдельных функций, однако проще воспользоваться summary().
summary(vec)## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.3086 3.2093 4.2307 4.6865 5.9424 10.0980
Задание 6
Посчитайте, какова вероятность получить при стандартном нормальном распределении значение 2.25, или большее?
1 - pnorm(2.25)## [1] 0.01222447
Задание 7
Какое значение при стандартном нормальном распределении соответствует 80 процентилю?
dnorm(0.8)## [1] 0.2896916
Задание 8
В датасете sleep представлены результаты классического эксперимента о влиянии снотворных на длительность сна. Колонка group - идентификаторы тестовой и контрольной групп, 2 и 1 соответственно). Колонка extra - изменение в количестве часов сна. ID - идентификатор испытуемого в группе.
Проверьте, влияют ли снотворные на изменение длительности сна. Исходите из предположения, что данные распределены нормально и используйте t-тест.
t.test(extra ~ group, data = sleep)##
## Welch Two Sample t-test
##
## data: extra by group
## t = -1.8608, df = 17.776, p-value = 0.07939
## alternative hypothesis: true difference in means between group 1 and group 2 is not equal to 0
## 95 percent confidence interval:
## -3.3654832 0.2054832
## sample estimates:
## mean in group 1 mean in group 2
## 0.75 2.33
Задание 9
Результат теста запишите в отдельный объект ttest_result. Выведите отдельно из полученного ttest_result значения t и p-value.
ttest_result <- t.test(extra ~ group, data = sleep, )
ttest_result$statistic## t
## -1.860813
ttest_result$p.value## [1] 0.07939414
Задание 10
Сгенерируйте два вектора, x - длиной в 1000 значений, выборка из нормального распределения с параметрами mean = 3 и sd = 1. Второй вектор, y - так же длиной в 1000 значений, по формуле 5 * x + runif(1000). Постройте и выведите регрессионную модель взаимосвязи x и y, результат запишите в объект model.
Задание 11
Выведите сводные статистики (summary) по модели.
summary(model)##
## Call:
## lm(formula = y ~ x)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.54180 -0.24022 -0.00349 0.25372 0.50943
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.514338 0.009117 56.42 <2e-16 ***
## x 4.982245 0.009231 539.75 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2882 on 998 degrees of freedom
## Multiple R-squared: 0.9966, Adjusted R-squared: 0.9966
## F-statistic: 2.913e+05 on 1 and 998 DF, p-value: < 2.2e-16
Задание 12
Выведите таблицу коэффициентов модели.
model_summary <- summary(model)
model_summary$coefficients## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.5143383 0.009116617 56.41767 1.025891e-312
## x 4.9822454 0.009230652 539.75014 0.000000e+00
Задание 13
Выделите остатки и проверьте их распределение на соответствие нормальному (shapiro.test()).
y_hat <- model_summary$residuals
shapiro.test(y_hat)##
## Shapiro-Wilk normality test
##
## data: y_hat
## W = 0.95793, p-value = 2.362e-16
Задание 14
Создайте вектор z <- rlnorm(1000) и повторите задания 10-11, с учетом y = 5 * x + 3 * z + runif(1000).
##
## Call:
## lm(formula = y ~ x + z)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.52452 -0.25760 0.01424 0.24813 0.50214
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.508790 0.011552 44.04 <2e-16 ***
## x 4.988451 0.009198 542.32 <2e-16 ***
## z 2.995065 0.004162 719.58 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2872 on 997 degrees of freedom
## Multiple R-squared: 0.9988, Adjusted R-squared: 0.9988
## F-statistic: 4.132e+05 on 2 and 997 DF, p-value: < 2.2e-16
Задание 15
На данных из предыдущего задания проверьте, значима ли взаимосвязь y и взаимодействия переменных x и z.
##
## Call:
## lm(formula = y ~ x * z)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.52712 -0.25504 0.01309 0.24959 0.50353
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.508755 0.011557 44.023 <2e-16 ***
## x 4.984867 0.011900 418.895 <2e-16 ***
## z 2.995038 0.004164 719.230 <2e-16 ***
## x:z 0.002173 0.004574 0.475 0.635
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2873 on 996 degrees of freedom
## Multiple R-squared: 0.9988, Adjusted R-squared: 0.9988
## F-statistic: 2.752e+05 on 3 and 996 DF, p-value: < 2.2e-16