리스트(list)는 많은 종류의 object를 예상된 순서대로 저장할 수 있는 훌륭한 도구이다. 행렬, 벡터, 데이터 프레임 또는 리스트를 포함할 수 있다. 우리는 리스트를 많은 다양한 물건들을 넣을 수 있는 가방으로 생각할 수 있다. 우리는 물건을 써야 할 때 가방을 열고 사용한다. 리스트도 유사하다: 우리는 object의 집합을 저장하고 필요할 때 그것들을 사용할 수 있다.
리스트를 생성하기 위해 list()
함수를 사용할 수 있다.
xxxxxxxxxx
list(element_1, ...)
인수(arguments) :
,
)로 분리할 필요가 있다.
다음의 예에서 우리는 벡터, 행렬 그리고 데이터 프레임 등의 서로 다른 세 가지의 object를 생성할 수 있다.
단계 1) 벡터 생성
xxxxxxxxxx
# Vector with numeric from 1 up to 5
vect <- 1:5
단계 2) 행렬 생성
xxxxxxxxxx
# A 2x 5 matrix
mat <- matrix(1:9, ncol = 5)
dim(mat)
결과 :
xxxxxxxxxx
## [1] 2 5
단계 3) 데이터 프레임 생성
xxxxxxxxxx
# select the 10th row of the built-in R data set EuStockMarkets
df <- EuStockMarkets[1:10,]
단계 4) 리스트 생성
이제 세 개의 object를 리스트에 넣을 수 있다.
xxxxxxxxxx
# Construct list with these vec, mat, and df:
my_list <- list(vect, mat, df)
my_list
결과 :
xxxxxxxxxx
## [[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
우리가 리스트를 만든 후에, 우리는 그것에 아주 쉽게 접근할 수 있다. 리스트의 요소를 선택하려면 [[색인]을 사용해야 한다. 이중 대괄호 내부의 값은 우리가 추출하고자 하는 리스트에 있는 항목의 위치를 나타낸다. 예를 들어, 괄호 안에 2를 통과하면 R은 나열된 두 번째 요소를 반환한다.
my_list라는 리스트의 두 번째 항목을 선택합시다. my_list[[2]]
를 사용한다.
xxxxxxxxxx
# Print second element of the list
my_list[[2]]
결과 :
xxxxxxxxxx
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 3 5 7 9
## [2,] 2 4 6 8 1
데이터 프레임을 만들기 전에 온라인에서 이용할 수 있는 R 데이터 세트를 살펴볼 수 있다. prison
데이터 세트는 714x5 차원이다. tail()
함수로 데이터 프레임의 하단을 간단히 살펴볼 수 있다. 유사하게, head()
함수는 데이터 프레임의 상단을 표시한다. head(df, 5)로 표시될 행의 수를 지정할 수 있다. 우리는 향후 튜토리얼에서 read.csv()
함수에 대해 자세히 배울 것이다.
xxxxxxxxxx
PATH <-'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/prison.csv'
df <- read.csv(PATH)[1:5]
head(df, 5)
결과 :
xxxxxxxxxx
## 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()
함수로 확인할 수 있다:
xxxxxxxxxx
# Structure of the data
str(df)
결과 :
xxxxxxxxxx
## '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 ...
모든 변수는 숫자 형식으로 저장된다.