[R] R을 이용한 통계 분석 및 데이터 시각화 : eval 함수

 정보

  • 업무명     : R을 이용한 통계 분석 및 데이터 시각화 : eval 함수

  • 작성자     : 박진만

  • 작성일     : 2020-03-31

  • 설   명      :

  • 수정이력 :

 

 내용

[개요]

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

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

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

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

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

 

 

[특징]

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

     

[기능]

  • 데이터형 소개

 

[활용 자료]

  • 없음

 

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

  • 없음

 

[사용법]

  • 소스 코드 예시 참조

 

[사용 OS]

  • Windows 10

 

[사용 언어]

  • R v3.6.2

  • R Studio v1.2.5033

 

 소스 코드

[eval 함수]

  • eval함수를 이용하여 문자열을 R 스크립트로 실행시킬 수 있다. 

  • eval사용 예시를 본 글에서 몇가지 다루고자 한다.

 

[eval을 이용한 패키지 로드]

  • eval함수는 주어진 문자열을 R 스크립트로 해석한다. 

  • 따라서 library(package-name)같은 문자열이 있을 때 이를 eval 함수에 주면 패키지를 호출 할 수 있다.

libs <- c("DESeq", "edgeR", "ggplot2")

eval(parse(text = paste0("library(", libs[1], ")")))  # library("DESeq") 와 동일
eval(parse(text = paste0("library(", libs[2], ")")))  # library("edgeR") 와 동일
eval(parse(text = paste0("library(", libs[3], ")")))  # library("ggplot2") 와 동일

 

[eval을 이용한 함수 실행]

  • eval 을 이용하여 함수를 호출하여 실행할 수 있다.

f <- function(x) {return(x * x)}

eval(parse(text = "f(10)"))
## [1] 100

eval(parse(text = "f(100)"))
## [1] 10000

 

[eval을 이용한 데이터 로드]

  • eval 를 이용하여 데이터 및 변수를 로드할 수 있다.

d <- "iris"

eval(parse(text = paste0("data(", d, ")")))
eval(parse(text = paste0("head(", d, ")")))
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa

 

[eval을 이용한 리스트 요소의 취득]

  • eval 를 이용하여 리스트의 요소를 얻을 수 있다.

p <- list(
    a = c("alpha", "beta"),
    b = c(1, 3)
)
q <- list(
    a = c("gamma", "delta"),
    b = c(2, 4)
)

for (i in c("p", "q")) {
  for (j in c("a", "b")) {
    eval(parse(text = paste0("print(", i, "$", j, ")")))
  }
}
## [1] "alpha" "beta" 
## [1] 1 3
## [1] "gamma" "delta"
## [1] 2 

 

[다음글]

 

[R] R을 이용한 통계 분석 및 데이터 시각화 : 예외처리

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

shlee1990.tistory.com

 

[이전글]

 

[R] R을 이용한 통계 분석 및 데이터 시각화 : 표준출력

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

shlee1990.tistory.com

 

 

 참고 문헌

[논문]

  • 없음

[보고서]

  • 없음

[URL]

  • 없음

 

 문의사항

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

  • sangho.lee.1990@gmail.com

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

  • saimang0804@gmail.com

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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