1. Удалить из датафрейма с результатами опроса 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, ]
  1. Где необходимо, превратить числовые столбцы в факторные. Другими словами, сделать так, чтобы 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)
  1. Вывести описательные статистики по переменной 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
  1. Построить гистограмму для переменной bio, поменять цвет, добавить название графика и подписи к осям.
hist(dat$bio, col = "thistle", 
     main = "ЕГЭ по биологии (баллы)",
     xlab = "баллв",
     ylab = "частоты")

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