- Удалить из датафрейма с результатами опроса survey01 строки с пропущенными значениями. Удалить строки с невалидными значениями пола, региона, длины отрезка и величины угла (примеры невалидных значений: «третий» пол, нулевая длина отрезка).
# загружаем файл
dat <- read.csv("http://math-info.hse.ru/f/2018-19/psych-ms/survey01.csv", dec = ",")
# удаляем строки с пропущенными значениями
dat <- na.omit(dat)
# удаляем невалидные значения
dat <- dat[dat$gender == 1 | dat$gender == 2, ]
dat <- dat[dat$residence < 3,]
dat <- dat[dat$length > 5 & dat$angle > 0, ]
- Где необходимо, превратить числовые столбцы в факторные. Другими словами, сделать так, чтобы R не воспринимал нечисловые показатели вроде пола как «настоящие» числа.
# смотрим на типы столбцов
str(dat)
## 'data.frame': 76 obs. of 9 variables:
## $ height : num 160 178 186 168 182 ...
## $ math : int 72 72 62 70 68 82 91 76 86 72 ...
## $ bio : int 66 96 74 65 88 80 90 76 92 87 ...
## $ subject : int 1 2 2 1 2 1 1 1 5 2 ...
## $ gender : int 1 2 2 1 1 1 1 1 1 1 ...
## $ residence: int 1 1 2 1 2 1 1 1 1 1 ...
## $ length : num 40 25 20 25 20 25 50 35 20 25 ...
## $ angle : num 30 25 15 15 25 30 20 20 23 37.5 ...
## $ soft : Factor w/ 2 levels "R","SPSS": 1 1 1 1 1 1 1 1 1 1 ...
## - attr(*, "na.action")= 'omit' Named int 1 5 6 13 15 17 19 20 27 29 ...
## ..- attr(*, "names")= chr "1" "5" "6" "13" ...
# превращаем в факторные
dat$subject <- factor(dat$subject)
dat$gender <- factor(dat$gender)
dat$residence <- factor(dat$residence)
- Вывести описательные статистики по переменной
angle
отдельно для юношей и отдельно для девушек. Проинтерпретировать результаты.
library(psych)
describeBy(dat$angle, group = dat$gender)
##
## Descriptive statistics by group
## group: 1
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 63 26.73 6.97 27 26.66 4.45 11 45 34 0.18 0.26 0.88
## --------------------------------------------------------
## group: 2
## vars n mean sd median trimmed mad min max range skew kurtosis se
## X1 1 13 25 8.21 25 24.09 7.41 15 45 30 0.82 0.16 2.28
- Построить гистограмму для переменной
bio
, поменять цвет, добавить название графика и подписи к осям.
hist(dat$bio, col = "thistle",
main = "ЕГЭ по биологии (баллы)",
xlab = "баллв",
ylab = "частоты")

- Построить ящик с усами для переменной
bio
. Соотнести результаты с гистограммой из предыдущего пункта.
boxplot(dat$bio, col = "antiquewhite")
