Доступ к элементам вектора
Часть раздела Основы путешествия по R на Coddy — урок 57 из 78.
Теперь, когда вы умеете создавать векторы, вам нужно знать, как извлекать из них конкретные значения. В R доступ к элементам вектора осуществляется с помощью квадратных скобок [] с указанием порядкового номера нужного вам элемента.
В отличие от многих языков программирования, R использует индексацию, начинающуюся с 1 — первый элемент находится на позиции 1, а не 0:
fruits <- c("apple", "banana", "cherry", "date")
print(fruits[1])
print(fruits[3])Вывод:
[1] "apple"
[1] "cherry"Вы также можете получить доступ к нескольким элементам одновременно, указав вектор позиций:
scores <- c(85, 92, 78, 95, 88)
print(scores[c(1, 3, 5)])Вывод:
[1] 85 78 88Чтобы получить доступ к последнему элементу вектора, объедините length() с индексацией:
numbers <- c(10, 20, 30, 40)
print(numbers[length(numbers)])Вывод:
[1] 40Задание
ЛегкоВам предоставлен следующий вектор:
temperatures <- c(72, 68, 75, 80, 65, 78, 71)Используя этот вектор, выведите следующие значения по порядку:
- Первую температуру
- Четвертую температуру
- Последнюю температуру (используйте
length(), чтобы найти её динамически) - 2-ю, 4-ю и 6-ю температуры вместе (как один результат вывода)
Ваш вывод должен быть следующим:
[1] 72
[1] 80
[1] 71
[1] 68 80 78Шпаргалка
Доступ к элементам вектора осуществляется с помощью квадратных скобок [] с указанием номера позиции. R использует индексацию с единицы (первый элемент находится в позиции 1):
fruits <- c("apple", "banana", "cherry", "date")
print(fruits[1]) # "apple"
print(fruits[3]) # "cherry"Доступ к нескольким элементам осуществляется путем передачи вектора позиций:
scores <- c(85, 92, 78, 95, 88)
print(scores[c(1, 3, 5)]) # 85 78 88Доступ к последнему элементу с помощью length():
numbers <- c(10, 20, 30, 40)
print(numbers[length(numbers)]) # 40Попробуйте сами
# Вектор температур
temperatures <- c(72, 68, 75, 80, 65, 78, 71)
# TODO: Напишите ваш код ниже
# 1. Выведите первую температуру
# 2. Выведите четвертую температуру
# 3. Выведите последнюю температуру (используйте length(), чтобы найти её динамически)
# 4. Выведите 2-ю, 4-ю и 6-ю температуры вместеВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы (AND, OR)Логические операторы. Часть 2 (NOT)Повторение: простая логикаВекторизованная логика. Часть 1Векторизованная логика. Часть 27Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Векторы: продвинутый уровень
Срезы и индексация векторовЛогическая индексацияАрифметика и ресайклинг векторовОператор %in%2Переменные и типы данных
Числовой тип данныхЦелочисленный тип данныхСимвольный тип данныхЛогический тип данныхПроверка типов данныхПравила именованияПропущенные значения: NAИтоги — создание переменных5Принятие решений
Оператор ifКонструкция if - elseПовторение: Простой калькуляторВложенные конструкции if - else8Циклы
Цикл ForЦикл WhileBreakNext (Continue)Повторение: ФакториалГенерация последовательностей (seq, :)Вложенные циклыПовторение: Динамический ввод11Векторы
Создание векторов с помощью c()Доступ к элементам вектораИзменение векторовОперации с векторамиПовторение — Вектор ценПовторение — Обратный векторИменованные векторы3Операторы. Часть 1
Арифметические операторыЦелочисленное деление и остаток от деленияОператоры присваиванияПовторение: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод через printКоманда cat для выводаВывод с переменнымиЧтение ввода через readline()Основы преобразования типовПовторение — Калькулятор возрастаПовторение — Истина или ложь9Функции
Объявление функцииАргументы функцииВозвращаемые значенияПовторение — функция SigmaПовторение — функция валидацииЗначения параметров по умолчанию12Итерация по последовательностям
Итерация по элементам вектораИспользование seq_along()Итерация по символам (strsplit)Функции для работы со строками