Создание списков
Часть раздела Основы путешествия по R на Coddy — урок 71 из 78.
Векторы мощны, но у них есть одно ограничение: все элементы должны быть одного и того же типа. Когда вам нужно хранить вместе данные разных типов, R предоставляет списки.
Список — это гибкая структура данных, которая может содержать элементы различных типов, включая числа, символы, логические значения и даже другие векторы или списки. Вы создаете список с помощью функции list():
my_list <- list(42, "hello", TRUE)
print(my_list)Вывод:
[[1]]
[1] 42
[[2]]
[1] "hello"
[[3]]
[1] TRUEОбратите внимание, как каждый элемент отображается со своим индексом в двойных скобках. Это отличается от векторов, где элементы отображаются в одну строку. Списки также могут содержать векторы в качестве элементов:
my_list <- list(c(1, 2, 3), "text", c(TRUE, FALSE))
print(my_list)Вывод:
[[1]]
[1] 1 2 3
[[2]]
[1] "text"
[[3]]
[1] TRUE FALSEЭта возможность смешивать различные типы данных делает списки идеальными для представления сложных структур данных, таких как профиль человека, содержащий его возраст, имя и статус членства, — и все это в одном объекте.
Задание
ЛегкоВы получите три строки входных данных:
- Числовое значение (например,
99.99) - Текстовое значение (например,
Premium Member) - Логическое значение в виде текста: либо
TRUE, либоFALSE(например,TRUE)
Выполните следующие операции:
- Прочитайте три входных значения и преобразуйте их в соответствующие типы (numeric, character и logical)
- Создайте список, содержащий эти три значения по порядку: сначала числовое значение, затем текст, затем логическое значение
- Создайте второй список, который содержит вектор из трех чисел
c(10, 20, 30)в качестве первого элемента и текст"data"в качестве второго элемента - Выведите первый список
- Выведите второй список
Например, если входные данные:
42.5
Active User
FALSEВыходные данные должны быть:
[[1]]
[1] 42.5
[[2]]
[1] "Active User"
[[3]]
[1] FALSE
[[1]]
[1] 10 20 30
[[2]]
[1] "data"Помните, что списки могут содержать элементы разных типов, и вы можете включать векторы в качестве элементов списка.
Шпаргалка
Список — это гибкая структура данных, которая может содержать элементы различных типов (числа, символы, логические значения, векторы или даже другие списки).
Создайте список с помощью функции list():
my_list <- list(42, "hello", TRUE)
print(my_list)Вывод:
[[1]]
[1] 42
[[2]]
[1] "hello"
[[3]]
[1] TRUEСписки могут содержать векторы в качестве элементов:
my_list <- list(c(1, 2, 3), "text", c(TRUE, FALSE))
print(my_list)Вывод:
[[1]]
[1] 1 2 3
[[2]]
[1] "text"
[[3]]
[1] TRUE FALSEПопробуйте сами
# Чтение трех входных данных
con <- file("stdin", "r")
numeric_input <- suppressWarnings(readLines(con, n = 1))
text_input <- suppressWarnings(readLines(con, n = 1))
logical_input <- suppressWarnings(readLines(con, n = 1))
# TODO: Напишите ваш код ниже
# 1. Преобразуйте входные данные в соответствующие типы (numeric, character, logical)
# 2. Создайте список, содержащий эти три преобразованных значения по порядку
# 3. Создайте второй список с c(10, 20, 30) в качестве первого элемента и "data" в качестве второго элемента
# 4. Выведите оба спискаВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы (AND, OR)Логические операторы. Часть 2 (NOT)Повторение: простая логикаВекторизованная логика. Часть 1Векторизованная логика. Часть 27Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Векторы: продвинутый уровень
Срезы и индексация векторовЛогическая индексацияАрифметика и ресайклинг векторовОператор %in%2Переменные и типы данных
Числовой тип данныхЦелочисленный тип данныхСимвольный тип данныхЛогический тип данныхПроверка типов данныхПравила именованияПропущенные значения: NAИтоги — создание переменных5Принятие решений
Оператор ifКонструкция if - elseПовторение: Простой калькуляторВложенные конструкции if - else8Циклы
Цикл ForЦикл WhileBreakNext (Continue)Повторение: ФакториалГенерация последовательностей (seq, :)Вложенные циклыПовторение: Динамический ввод11Векторы
Создание векторов с помощью c()Доступ к элементам вектораИзменение векторовОперации с векторамиПовторение — Вектор ценПовторение — Обратный векторИменованные векторы14Списки в R
Создание списковДоступ к элементам спискаИзменение списковИменованные спискиПовторение — Список продуктов3Операторы. Часть 1
Арифметические операторыЦелочисленное деление и остаток от деленияОператоры присваиванияПовторение: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод через printКоманда cat для выводаВывод с переменнымиЧтение ввода через readline()Основы преобразования типовПовторение — Калькулятор возрастаПовторение — Истина или ложь9Функции
Объявление функцииАргументы функцииВозвращаемые значенияПовторение — функция SigmaПовторение — функция валидацииЗначения параметров по умолчанию12Итерация по последовательностям
Итерация по элементам вектораИспользование seq_along()Итерация по символам (strsplit)Функции для работы со строками