Отличная картинка, которая иллюстрирует списки в R, и работу | R4marketing | канал Алексея Селезнёва | Язык R
Отличная картинка, которая иллюстрирует списки в R, и работу с их элементами.
1. Пример списка. По сути список это контейнер для хранения других объектов, в том числе и других списков. В нашем примере перечница, в которой отдельные элементы - пакетики с перцем, в каждом пакете есть содержимое - перец.
2. Указав индекс необходимого элемента в одинарных квардратных скобках, мы получим на выходе также список, но внутри останется только те его элементы, индексы которых мы перечислили в квадратных скобках.
3. Для извлечения конкретного элемента ИЗ списка необходимо указать его индекс в двойных квадратных скобках. Таким образом мы вытащили пакет с перцем из перечницы.
4. Сам пакет с перцем также является контейнером, если мы хотим извлечь элемент из вложенного списка то мы будет использовать ещё одни двойные скобки, в которых укажем индекс элемента вложенного списка, которые хотим получить. Так мы добрались до содержимого пакетика, т.е. до крайнего элемента нашей списочной структуры.
Удобный синтаксис обращения с элементам списка помощью purrr:pluck()
Довольно изящный синтаксис обращения к элементам списка предоставляет функция purrr::pluck().
library(purrr)
# Обращение к элементу списка по индексу:
pluck(x, 1)
x[[1]]
pluck(x, 1, 2)
x[[1]][[2]]
# Смешенное обращение к элементам списка по индексам их именам
pluck(x, 1, 2, "elt")
x[[1]][[2]][["elt"]]
Ссылки:
- изображение и идея заимствованы из твиттера Хедли Викхема.
#заметки_по_R