[R] R을 이용한 통계 분석 및 데이터 시각화 : 리스트

 정보

  • 업무명     : R을 이용한 통계 분석 및 데이터 시각화 : 리스트

  • 작성자     : 박진만

  • 작성일     : 2020-03-25

  • 설   명      :

  • 수정이력 :

 

 내용

[개요]

  • R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석 환경입니다. 

  • 통계 분석 기능으로 통계 검정, 선형 회귀 분석, 시계열 데이터 분석, 클러스터링 등을 지원하고 있습니다.

  • 또한 최신 논문에서 발표된 같은 새로운 기술도 R로 구현되는 경우가 많습니다.

  • 특히 시각화 기능으로 히스토그램, 막대 그래프, 선 그래프, 산포도, 나무 모양 그림이나 히트맵 등 기본적인 그래프가 기본으로 지원하고 있습니다.

  • 또한 ggplot2 등의 패키지를 사용하여 더 높은 수준의 그림을 가시화할 수 있습니다.

 

 

[특징]

  • 데이터를 이해하기 위해서 통계 분석 및 데이터 시각화가 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어

     

[기능]

  • 데이터형 소개

 

[활용 자료]

  • 없음

 

[자료 처리 방안 및 활용 분석 기법]

  • 없음

 

[사용법]

  • 소스 코드 예시 참조

 

[사용 OS]

  • Windows 10

 

[사용 언어]

  • R v3.6.2

  • R Studio v1.2.5033

 

 소스 코드

  • R의 리스트는 데이터 프레임과 비슷한 역할을 수행하는 데이터 구조이다. 

  • 그러나 데이터 프레임은 열 벡터를 묶어 이름을 붙여 관리하고있는 반면, 리스트는 각 요소를 묶어 이름을 붙여 관리하고있다. 

  • 또한 데이터 프레임은 각 요소 (각 열)가 같은 길이일 필요가있는 반면, 리스트는 각 요소가 같은 길이가 아니라도 상관 없다. 

  • 따라서 리스트는 벡터, 행렬 데이터 프레임, 그리고 리스트를 모두 저장할 수 있으며, 복잡한 데이터 구조를 취할 수 있다.

 

[리스트 생성]

  • 리스트의 요소 수를 모르는 경우에는 list함수에서 빈 목록을 작성하고 나중에 추가 할 수 있다.

x <- list()

x <- c(x, list(c(3, 3, 3, 3, 3)))
x <- c(x, list("I love R"))
x <- c(x, list(matrix(1:9, ncol = 3)))
x
## [[1]]
## [1] 3 3 3 3 3
## 
## [[2]]
## [1] "I love R"
## 
## [[3]]
##      [,1] [,2] [,3]
## [1,]    1    4    7
## [2,]    2    5    8
## [3,]    3    6    9

 

  • 리스트의 요소 수를 미리 알고 있다면, 요소 수를 지정하여 만들 수도 있다. 

  • 예를 들어, 요소가 세 개 목록을 만들려면 아래와 같이 작성한다.

x <- vector("list", length = 3)
x
## x[[1]]
## NULL
## 
## x[[2]]
## NULL
## 
## x[[3]]
## NULL

 

  • 또한 리스트의 요소가 이미 준비되어 있다면 리스트를 직접 대입하여 만들 수 있다.

x <- list(2 + 3i, c(1:5), array(1:10, dim = c(2, 5))
x
## [[1]]
## [1] 2+3i
## [[2]]
## [1] 1 2 3 4 5
## [[3]]
##      [,1] [,2] [,3] [,4] [,5]
## [1,]    1    3    5    7    9
## [2,]    2    4    6    8   10

 

  • 리스트를 중첩하고자 하는 경우 아래와 같이 작성한다.

x <- list(c(1, 2, 3), array(1:6, dim = c(3, 2))
y <- list(c(4, 5, 6), x)

y
## [[1]]
## [1] 4 5 6
## 
## [[2]]
## [[2]][[1]]
## [1] 1 2 3
## 
## [[2]][[2]]
##      [,1] [,2]
## [1,]    1    4
## [2,]    2    5
## [3,]    3    6

 

[리스트 요소 추출]

  • 목록의 요소를 검색 할 때 인덱스에서 몇 번째 요소를 얻을 것인가를 지정할 수 있다. 

  • 예를 들어 아래와 같은 예제에서, [[[2]]]를 입력하는 경우 목록의 두 번째 요소를 얻을 수 있다. 

x <- list(c(1, 2, 3), array(4:9, dim = c(3, 2)), c(T, F, F, T))
x
## [[1]]
## [1] 1 2 3
## 
## [[2]]
##      [,1] [,2]
## [1,]    4    7
## [2,]    5    8
## [3,]    6    9
## 
## [[3]]
## [1]  TRUE FALSE FALSE  TRUE
## 
## x[[2]]
##      [,1] [,2]
## [1,]    4    7
## [2,]    5    8
## [3,]    6    9

x[[2]][2]
## [1] 5 8

x[[2]][1]
## [1] 5

 

[리스트의 이름]

  • 리스트에 이름을 붙일 수있다.

  • 이름을 쓰면 인덱스 외에 다른 이름으로 리스트의 요소를 추출할 수 있게된다. 

  • 다른 프로그래밍 언어에서 사용되는 해시와 유사한 기능이라고 볼 수 있다.

x <- list(
     mat = matrix(0, nrow = 2, ncol = 4),
     vec = c(1, 2, 3, 4),
     arr = array(0, dim = c(2, 1, 1))
)

x[[2]]
## [1] 1 2 3 4

x$vec
## [1] 1 2 3 4

 

  • names 함수 목록의 이름을 다시 지정 될 수 있다.

names(x) <- c("alpha", "beta", "gamma")

x
## $alpha
##      [,1] [,2] [,3] [,4]
## [1,]    0    0    0    0
## [2,]    0    0    0    0
## 
## $beta
## [1] 1 2 3 4
## 
## $gamma
## , , 1
## 
##      [,1]
## [1,]    0
## [2,]    0
## 

x$beta
## [1] 1 2 3 4

key <- "beta"
x[[key]]
## [1] 1 2 3 4

 

[다음글]

 

[R] R을 이용한 통계 분석 및 데이터 시각화 : 해시 테이블

정보 업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 해시 테이블 작성자 : 박진만 작성일 : 2020-03-26 설 명 : 수정이력 : 내용 [개요] R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통..

shlee1990.tistory.com

 

[이전글]

 

[R] R을 이용한 통계 분석 및 데이터 시각화 : 배열

정보 업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 배열 작성자 : 박진만 작성일 : 2020-03-25 설 명 : 수정이력 : 내용 [개요] R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석..

shlee1990.tistory.com

 

 

 참고 문헌

[논문]

  • 없음

[보고서]

  • 없음

[URL]

  • 없음

 

 문의사항

[기상학/프로그래밍 언어]

  • sangho.lee.1990@gmail.com

[해양학/천문학/빅데이터]

  • saimang0804@gmail.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음