Что такое список?
Список является отличным инструментом для хранения многих видов объектов в порядке ожидаемого. Мы можем включать матрицы, векторные кадры данных или списки. Мы можем представить список в виде сумки, в которую мы хотим поместить много разных предметов. Когда нам нужно использовать предмет, мы открываем сумку и используем ее. Список похож; мы можем хранить коллекцию объектов и использовать их, когда они нам нужны.
Как создать список
Мы можем использовать функцию list () для создания списка.
list(element_1, ...) arguments: -element_1: store any type of R object -...: pass as many objects as specifying. each object needs to be separated by a comma
В приведенном ниже примере мы создаем три разных объекта: вектор, матрицу и фрейм данных.
Шаг 1) Создайте вектор
# Vector with numeric from 1 up to 5 vect <- 1:5
Шаг 2) Создайте матрицы
# A 2x 5 matrix mat <- matrix(1:9, ncol = 5) dim(mat)
Вывод:
## [1] 2 5
Шаг 3) Создание фрейма данных
# select the 10th row of the built-in R data set EuStockMarkets df <- EuStockMarkets[1:10,]
Шаг 4) Создайте список
Теперь мы можем поместить три объекта в список.
# Construct list with these vec, mat, and df: my_list <- list(vect, mat, df) my_list
Вывод:
## [[1]] ## [1] 1 2 3 4 5 ## [[2]] ## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 3 5 7 9 ## [2,] 2 4 6 8 1 ## [[3]] ## DAX SMI CAC FTSE ## [1,] 1628.75 1678.1 1772.8 2443.6 ## [2,] 1613.63 1688.5 1750.5 2460.2 ## [3,] 1606.51 1678.6 1718.0 2448.2 ## [4,] 1621.04 1684.1 1708.1 2470.4 ## [5,] 1618.16 1686.6 1723.1 2484.7 ## [6,] 1610.61 1671.6 1714.3 2466.8 ## [7,] 1630.75 1682.9 1734.5 2487.9 ## [8,] 1640.17 1703.6 1757.4 2508.4 ## [9,] 1635.47 1697.5 1754.0 2510.5 ## [10,] 1645.89 1716.3 1754.3 2497.4
Выбрать элементы из списка
После того, как мы построили наш список, мы можем легко получить к нему доступ. Нам нужно использовать [[index]], чтобы выбрать элемент в списке. Значение внутри двойной квадратной скобки представляет позицию элемента в списке, который мы хотим извлечь. Например, мы передаем 2 в скобках, R возвращает второй элемент в списке.
Давайте попробуем выбрать вторые элементы списка с именем my_list, мы используем my_list [[2]]
# Print second element of the list my_list[[2]]
Вывод:
## [,1] [,2] [,3] [,4] [,5] ## [1,] 1 3 5 7 9 ## [2,] 2 4 6 8 1
Встроенный фрейм данных
Прежде чем создавать наш собственный фрейм данных, мы можем взглянуть на набор данных R, доступный онлайн. Набор данных тюрьмы имеет размер 714×5. Мы можем быстро взглянуть на нижнюю часть фрейма данных с функцией tail (). По аналогии head () отображает верхнюю часть фрейма данных. Вы можете указать количество строк, показанных заголовком (df, 5). Мы узнаем больше о функции read.csv () в следующем уроке.
PATH <-'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/prison.csv' df <- read.csv(PATH)[1:5] head(df, 5)
Вывод:
## X state year govelec black ## 1 1 1 80 0 0.2560 ## 2 2 1 81 0 0.2557 ## 3 3 1 82 1 0.2554 ## 4 4 1 83 0 0.2551 ## 5 5 1 84 0 0.2548
Мы можем проверить структуру фрейма данных с помощью str:
# Structure of the data str(df)
Вывод:
## 'data.frame': 714 obs. of 5 variables: ## $ X : int 1 2 3 4 5 6 7 8 9 10 ... ## $ state : int 1 1 1 1 1 1 1 1 1 1 ... ## $ year : int 80 81 82 83 84 85 86 87 88 89 ... ## $ govelec: int 0 0 1 0 0 0 1 0 0 0 ... ## $ black : num 0.256 0.256 0.255 0.255 0.255 ...
Все переменные хранятся в числовом формате.