Изменение векторов
Часть раздела Основы путешествия по R на Coddy — урок 58 из 78.
Вы узнали, как создавать векторы и получать доступ к их элементам. Теперь давайте изучим, как изменять значения, хранящиеся в векторе, после того как он был создан.
Чтобы изменить один элемент, используйте оператор присваивания с индексом элемента:
scores <- c(85, 92, 78, 95)
scores[2] <- 88
print(scores)Вывод:
[1] 85 88 78 95Вы также можете изменить несколько элементов одновременно, указав вектор позиций:
temperatures <- c(70, 72, 68, 75, 71)
temperatures[c(1, 3)] <- c(69, 67)
print(temperatures)Вывод:
[1] 69 72 67 75 71Чтобы добавить новые элементы в вектор, вы можете присвоить значение позиции за пределами текущей длины или использовать c() для объединения векторов:
colors <- c("red", "blue")
colors[3] <- "green"
colors <- c(colors, "yellow")
print(colors)Вывод:
[1] "red" "blue" "green" "yellow"Задание
ЛегкоВам предоставлен следующий вектор:
grades <- c(78, 85, 90, 72, 88)Выполните следующие изменения по порядку:
- Измените второй элемент на
92 - Измените первый и четвертый элементы на
80и75соответственно (измените оба сразу) - Добавьте новый элемент
95в позицию 6 - Используйте
c(), чтобы добавить значение82в конец вектора
После всех изменений выведите итоговый вектор.
Ваш вывод должен быть следующим:
[1] 80 92 90 75 88 95 82Шпаргалка
Чтобы изменить один элемент в векторе, используйте оператор присваивания с индексом элемента:
scores <- c(85, 92, 78, 95)
scores[2] <- 88
print(scores)
# Output: [1] 85 88 78 95Чтобы изменить несколько элементов одновременно, укажите вектор позиций:
temperatures <- c(70, 72, 68, 75, 71)
temperatures[c(1, 3)] <- c(69, 67)
print(temperatures)
# Output: [1] 69 72 67 75 71Чтобы добавить новые элементы в вектор, присвойте значение позиции за пределами текущей длины или используйте c() для объединения векторов:
colors <- c("red", "blue")
colors[3] <- "green"
colors <- c(colors, "yellow")
print(colors)
# Output: [1] "red" "blue" "green" "yellow"Попробуйте сами
# Исходный вектор
grades <- c(78, 85, 90, 72, 88)
# TODO: Напишите ваш код ниже
# 1. Измените второй элемент на 92
# 2. Измените первый и четвертый элементы на 80 и 75 соответственно
# 3. Добавьте новый элемент 95 на позицию 6
# 4. Используйте c(), чтобы добавить значение 82 в конец вектора
# Вывести итоговый вектор
print(grades)В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы (AND, OR)Логические операторы. Часть 2 (NOT)Повторение: простая логикаВекторизованная логика. Часть 1Векторизованная логика. Часть 27Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Векторы: продвинутый уровень
Срезы и индексация векторовЛогическая индексацияАрифметика и ресайклинг векторовОператор %in%2Переменные и типы данных
Числовой тип данныхЦелочисленный тип данныхСимвольный тип данныхЛогический тип данныхПроверка типов данныхПравила именованияПропущенные значения: NAИтоги — создание переменных5Принятие решений
Оператор ifКонструкция if - elseПовторение: Простой калькуляторВложенные конструкции if - else8Циклы
Цикл ForЦикл WhileBreakNext (Continue)Повторение: ФакториалГенерация последовательностей (seq, :)Вложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыЦелочисленное деление и остаток от деленияОператоры присваиванияПовторение: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод через printКоманда cat для выводаВывод с переменнымиЧтение ввода через readline()Основы преобразования типовПовторение — Калькулятор возрастаПовторение — Истина или ложь9Функции
Объявление функцииАргументы функцииВозвращаемые значенияПовторение — функция SigmaПовторение — функция валидацииЗначения параметров по умолчанию12Итерация по последовательностям
Итерация по элементам вектораИспользование seq_along()Итерация по символам (strsplit)Функции для работы со строками