Семинар 1. Переменные и векторы.

Алла Тамбовцева

12 сентября 2018 г

Часть 1

Задача 1.

В двух переменных сохранены некоторые значения:

x <- 2
y <- 4

Напишите код, который позволит поменять значения в переменных x и y местами, то есть получить следующее:

x
## [1] 4
y
## [1] 2

Внимание: Ваш код должен работать для любых значений x, y.

Задача 2.

x <- 3.5
y <- "2,6"
z <- 1.78
h <- TRUE
  • Определите типы переменных.
  • Сделайте переменную h целочисленной.
  • Сделайте переменную y числовой (обратите внимание на запятую!).
  • Сделайте переменную x текстовой.

Задача 3.

Исследователь сохранил доход респондента в переменную dohod:

dohod <- 1573

Исследователь передумал и решил изменить значение этой переменной - сохранить в нее натуральный логарифм дохода. Помогите ему!

Часть 2

Задача 1.

Дан вектор g, в котором хранятся следующие значения:

1, 0, 2, 3, 6, 8, 12, 15, 0, NA, NA, 9, 4, 16, 2, 0

Выведите на экран:

  • первый элемент вектора
  • последний элемент вектора
  • элементы вектора с третьего по пятый включительно
  • элементы вектора, которые равны 2
  • элементы вектора, которые больше 4
  • элементы вектора, которые кратны 3 (делятся на 3 без остатка)
  • элементы вектора, которые больше 4 и кратны 3
  • элементы вектора, которые или меньше 1, или больше 5
  • индексы элементов, которые равны 0
  • индексы элементов, которые не меньше 2 и не больше 8

Задача 2.

Напишите код, который заменяет последний элемент вектора на пропущенное значение (NA). Ваш код должен работать для любого вектора (любой длины).

Задача 3.

Напишите код, который выводит на экран индексы пропущенных значений в векторе.

Задача 4.

Напишите код, который считает, сколько пропущенных значений в векторе.

Задача 5.

Напишите код, который позволяет создать вектор из id (уникальных номеров) респондентов, если известно, что в опросе участвовало 100 респондентов.

Задача 6.

Известно, что в базе данных хранятся показатели по 3 странам за 5 лет. Таблица выглядит примерно так:

country year
1 France 2000
2 France 2001
3 France 2002
4 France 2003
5 France 2004
6 Italy 2000
7 Italy 2001
8 Italy 2002
9 Italy 2003
10 Italy 2004
11 Spain 2000
12 Spain 2001
13 Spain 2002
14 Spain 2003
15 Spain 2004
  • Создайте вектор с названиями стран (первый столбец).
  • Создайте вектор, который мог бы послужить вторым столбцом в таблице, представленной выше (подумайте, какую длину имеет этот вектор).

Задача 7.

Исследователю из задачи 3 из части 1 понравилось, как Вы работаете в R, и теперь он решил создать вектор income, в котором сохранены доходы нескольких респондентов:

income <- c(10000, 32000, 28000, 150000, 65000, 1573)

Исследователю нужно получить вектор income_class, состоящий из 0 и 1: 0 ставится, если доход респондента ниже среднего дохода, а 1 - если больше или равен среднему доходу.

Подсказка: сначала можно посчитать среднее значение по вектору income и сохранить его в какую-нибудь переменную. Пользоваться встроенной функцией mean() нельзя.