Практика «упражнения по созданию и работе с векторами»
Задача1. Создать вектор: 1.0, 1.1, 1.2, 1.3 … 9.9, 10.0 (то есть создать числовой ряд от 1 до 10 с шагом 0.1). Вывести на экран все числа из массива меньше 2. Вывести все числа из массива больше 2 но меньше 3.2. Найти сумму чисел в массиве больше 1 но меньше 2.1
Вектор мы создадим с помощью команды в консоли:
x = seq(1, 10, 0.1)
x
## [1] 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4
[16] 2.5 2.6 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9
[31] 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4
[46] 5.5 5.6 5.7 5.8 5.9 6.0 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9
[61] 7.0 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4
[76] 8.5 8.6 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9
[91] 10.0
|
команда |
код |
результат |
|
Вывести на экран все числа из массива меньше 2 |
x[x<2] |
[1] 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 |
|
Вывести все числа из массива больше 2 но меньше 3.2 |
x[x>2 & x<3.2] |
[1] 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.0 3.1 |
|
Найти сумму чисел в массиве больше 1 но меньше 2.1 |
sum(x[x>1 & x<2.1]) |
[1] 15.5 |
Обратим внимание на символ «&» который означает логическое «И» аналог «AND»
Задача 2. Найти сумму чисел от 1 до 100.
В языке R есть оператор sum который позволяет найти сумму всех элементов вектора. В нашей задаче можно записать решение в виде sum(1:100) получим ответ ##[1] 5050
Задача 3. Найти сумму четных чисел от 1 до 100.
В данном случае лучше создать вектор четных чисел, а потом найти сумму всех элементов вектора. Запишем решение в виде однострочного кода: sum(seq(2, 100, 2)) запустив код получим ответ ##[1] 2550.
Задача 4. Создать два вектора четных (cc) и нечетных (nc) чисел от 1 до 100. Найти отдельно сумму четных, и нечетных чисел. Сложить суммы четных и нечетных чисел между собой, проверить что эта сумма будет точно такой же, как и в задаче 2. Код решения этой задачи:
cc = seq(2, 100, 2) # вектор четных чисел
nc = seq(1, 99, 2) # вектор нечетных чисел
Scc = sum(cc) # сумма четных чисел
Snc = sum(nc) # сумма нечетных чисел
# Вывод суммы четных, нечетных чисел и общей их суммы
Scc
Snc
Scc+Snc
|
Вывод на экране |
> Scc [1] 2550 |
> Snc [1] 2500 |
> Scc+Snc [1] 5050 |