Menu
Coddy logo textTech

Создание списков

Часть раздела Основы путешествия по 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

Эта возможность смешивать различные типы данных делает списки идеальными для представления сложных структур данных, таких как профиль человека, содержащий его возраст, имя и статус членства, — и все это в одном объекте.

challenge icon

Задание

Легко

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

  1. Числовое значение (например, 99.99)
  2. Текстовое значение (например, Premium Member)
  3. Логическое значение в виде текста: либо TRUE, либо FALSE (например, TRUE)

Выполните следующие операции:

  1. Прочитайте три входных значения и преобразуйте их в соответствующие типы (numeric, character и logical)
  2. Создайте список, содержащий эти три значения по порядку: сначала числовое значение, затем текст, затем логическое значение
  3. Создайте второй список, который содержит вектор из трех чисел c(10, 20, 30) в качестве первого элемента и текст "data" в качестве второго элемента
  4. Выведите первый список
  5. Выведите второй список

Например, если входные данные:

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. Выведите оба списка
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы