Download


Перед вами самостоятельная работа. Следуйте инструкциям. Там, где нужно выбрать правильный ответ - удалите все неправильные на ваш взгляд. Код нужно писать внутри code chunks и исполнять его, чтобы мы сразу видели вывод кода.

Когда вы закончите, сохраните файл Название файла по шаблону: Имя_Фамилия_НомерГруппы_Тест.Rmd Файл отправляется на почту hse.sociology.r@gmail.com копия: trogovich@hse.ru

Например:

Задание 0

Присвойте переменной x сумму чисел (3+2). Выведите значение переменной x.

# пишите свой код здесь и нажмите на зеленый треугольник "run current chunk"
x <- 3 +2
x
## [1] 5

В первую очередь установите библиотеку dplyr. Просто запустите ячейку ниже.

install.packages('dplyr')

Задание 1. Общие вопросы. 1 балл

(Всего 1 балл, 0.1 за каждый вопрос) Напишите ваши ответы ниже каждого вопроса

1.1. Что делает команда install.packages()?

1.2. Что делает команда library()?

1.3. Мы хотим создать вектор, который содержит и текстовые, и числовые переменные. Можно ли это сделать?

1.4. Переменные, которые содержат TRUE и FALSE - это пример переменных какого типа?

1.5. До каких пор будет исполняться цикл while?

1.6. В конструкции if else, когда выполнится условие else?

1.7. x <- ‘2’. Какого типа переменная x?

1.8. Какую информацию можно узнать с помощью функции class()

1.9. Что значит аргумент 3 в следующей функции rep(c(‘a’, ‘b’, ‘c’), 3)

1.10. Как узнать длину (количество элементов) вектора?

Задание 2. Базовый синтаксис. 1 балл

(Всего 1 балл. 0.25 балла за каждый вопрос) 2.1. Присвойте переменной x значение 123. Присвойте переменной y значение 15. Выведите целую часть от деления x на y.

# напишите свой код здесь и исполните его

2.2. Посчитайте количество истинных утверждений

  • (Истина ИЛИ Ложь) И (Ложь ИЛИ Ложь)
  • Истина ИЛИ (Ложь И Истина)
  • (Истина И Истина) ИЛИ Истина

Напишите здесь ответ числом ____

2.3. Перепишите сокращенную ifelse конструкцию в полном виде ifelse(Age > 17, ‘Adult’, ‘Teenager’) и исполните с переменной Age равной 12

# напишите свой код здесь и исполните его

2.4. Посчитайте среднюю длину слова в предложении “Карл у Клары украл кораллы”. Для расчета среднего нельзя использовать встроенные функции. Вам может пригодиться функция nchar.

# Список слов приведен ниже
vec.of.words <- c('Карл', "у", "Клары", "украл", "кораллы") 
# напишите свой код здесь и исполните его

Задание 3. Работа с векторами. 2 балла

(Всего 2 балла, 0.5 баллов за вопрос) 3.1. Создайте вектор из последовательности чисел от 102 до 150 и присвойте его значение x_vector. Просуммируйте все его элементы.

# напишите свой код здесь и исполните его

3.2. Создайте вектор из любых пяти чисел. Одной функцией выберите второй и четвертый элементы вектора и умножьте их на 5.

# напишите свой код здесь и исполните его

3.3. Создайте вектор из последовательности чисел (5, 4, 7, 10, 6, 2). Далее верните

все элементы вектора кроме первого ТРЕМЯ разными способами Только два последних элемента

# напишите свой код здесь и исполните его

3.4. Создайте вектор из последовательности чисел (7, 6, 8, 1, 11, 3). Далее верните:

элементы вектора, которые равны среднему значению вектора элементы вектора, которые больше размера вектора

# напишите свой код здесь и исполните его

Задание 4. Векторы, матрицы, условные операторы и циклы. 3 балла

(Всего 3 балла)

4.1. Создайте вектор Boys, который будет содержать в себе результаты контрольной работы по математике в 8 классе среди юношей (5,4,4,4,5,3,2) и вектор Girls, который будет содержать результаты девушек (3,5,5,4,3,5). (0.5 баллов)

# напишите свой код здесь и исполните его

4.2. Создайте вектор Class, соединив в нем векторы Girls и Boys. (0.5 баллов)

# напишите свой код здесь и исполните его

4.3 Создайте матрицу Excellent, который сохранит результаты учащихся выше 3 баллов из вектора Class(Задание можно выполнить с промежуточным созданием вспомогательного вектора). (1 балл)

# напишите свой код здесь и исполните его

4.4 С использованием любого известного вам цикла и условного оператора выведете следующие сообщения для значений в матрице Excellent. Если оценка 5 баллов, сообщение - “Well Done!”, если оценка 4 балла - “You can do better”. (1.5 балла)

# напишите свой код здесь и исполните его

Задание 5. Циклы. 1 балл

(Всего 1 балл) 5.1 Создайте переменную x равную 3. С помощью цикла while напишите код, который будет исполняться пока значение переменной x не превысит 100. Внутри цикла проверяем - делится ли переменная x на 6 без остатка: если делится, то прибавляем к переменной x 10, если нет - то прибавляем 12. Внутри цикла печатаем значение x после обновления переменной

# напишите свой код здесь и исполните его

Задание 6. Работа с датафреймами. 2 балла

(Всего 2 балла) Мы изучаем встроенный набор данных state.x77, в котором содержатся информация о штатах США. Более подробную информацию можно посмотреть в справке ?state.x77

Ниже мы сохраняем матрицу в датафрейм df, с которым вы будете работать

df <- as.data.frame(state.x77)
# Изучите набор данных с помощью команды View().

6.1. Используя функции, выведите:

Загрузите библиотеку dplyr в рабочее пространство. Вам понадобится только она

1. Количество наблюдений в датасете. (ТОЛЬКО КОЛИЧЕСТВО НАБЛЮДЕНИй, не количество наблюдений и колонок) Подсказка: функция, которая вам возвращает информацию об измерениях датафрейма - возвращает вектор 2. Названия переменных датасета 3. Выведите шесть первых наблюдений из датасета только для колонки Income. 4. Выведите шесть последних наблюдений колонки Illiteracy 5. Выведите дескриптивные статистики колонки Murder функцией из dplyr (0.5 балла)

# напишите свой код здесь и исполните его

6.2. Напишите функцию, которая оценивает среднюю продолжительность жизни по стране и ставит значение новой переменной Life.Exp.Above.Mean TRUE, когда средняя продолжительность жизни больше среднего по стране (нужно вычислить) и FALSE в других случаях. Выведите summary новой переменной. (0.5 балла)

# напишите свой код здесь и исполните его

6.3. Перекодируйте переменную Life.Exp.Above.Mean функцией factor() Уровнями вашей переменной будет вектор (FALSE, TRUE), а лэйблами - вектор (‘low’, ‘high’). Выведите summary новой переменной. (0.5 балла)

# напишите свой код здесь и исполните его

6.4.

Создайте новую переменную, в которой вы будете хранить датафрейм state.x77, сгруппированный по переменной Comp.Life.Exp.Above.Mean. Воспользуйтесь функцией группировки из библиотеки dplyr С помощью функции summarise() из библиотеки dplyr выведете для нового датафрейма среднее и среднеквадратичное отклонение по переменной HS.Grad. Напишите краткий вывод, для каких штатов характерна большая доля людей, которые закончили старшую школу.

(0.5 балла)

# напишите свой код здесь и исполните его