library(readxl)
library(dplyr)
## 
## Присоединяю пакет: 'dplyr'
## Следующие объекты скрыты от 'package:stats':
## 
##     filter, lag
## Следующие объекты скрыты от 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)
TeachingRatings <- read_excel("TeachingRatings.xls")

names(TeachingRatings)
## [1] "minority"    "age"         "female"      "onecredit"   "beauty"     
## [6] "course_eval" "intro"       "nnenglish"
str(TeachingRatings)
## tibble [463 × 8] (S3: tbl_df/tbl/data.frame)
##  $ minority   : num [1:463] 1 0 0 0 0 0 0 0 0 0 ...
##  $ age        : num [1:463] 36 59 51 40 31 62 33 51 33 47 ...
##  $ female     : num [1:463] 1 0 0 1 1 0 1 1 1 0 ...
##  $ onecredit  : num [1:463] 0 0 0 0 0 0 0 0 0 0 ...
##  $ beauty     : num [1:463] 0.29 -0.738 -0.572 -0.678 1.51 ...
##  $ course_eval: num [1:463] 4.3 4.5 3.7 4.3 4.4 4.2 4 3.4 4.5 3.9 ...
##  $ intro      : num [1:463] 0 0 0 0 0 0 0 0 0 0 ...
##  $ nnenglish  : num [1:463] 0 0 0 0 0 0 0 0 0 0 ...
#отбор нужных столбцов 
data1 <- TeachingRatings[,c(2,3,4)]
data2 <- dplyr::transmute(TeachingRatings, minority = minority, age = age, female = female)

#фильтр по значению 
data3 <- dplyr::filter(data2, minority == 1)
data4 <- dplyr::filter(data2, age %in% c(39,59,33,51))
#не хотим учитывать эти значения возраста
data5 <- dplyr::filter(data2, !(age %in% c(39,59,33,51)))

#делать таблицы длиннее - полезно для графиков 
#cols - какие столбцы мы переносим по строчкам
#names_to - куда переносим названия: minority, age и female 
#values_to - куда переносим значения переменных minority, age и female 
data6 <- pivot_longer(as.data.frame(data5), cols = "minority":"female", names_to = "Names", values_to = "Values")