정보
-
업무명 : R을 이용한 통계 분석 및 데이터 시각화 : 벡터
-
작성자 : 박진만
-
작성일 : 2020-03-27
-
설 명 :
-
수정이력 :
내용
[개요]
-
R은 통계 분석 및 시각화 등의 기능을 갖춘 프로그래밍 언어 내지 통계 분석 환경입니다.
-
통계 분석 기능으로 통계 검정, 선형 회귀 분석, 시계열 데이터 분석, 클러스터링 등을 지원하고 있습니다.
-
또한 최신 논문에서 발표된 같은 새로운 기술도 R로 구현되는 경우가 많습니다.
-
특히 시각화 기능으로 히스토그램, 막대 그래프, 선 그래프, 산포도, 나무 모양 그림이나 히트맵 등 기본적인 그래프가 기본으로 지원하고 있습니다.
-
또한 ggplot2 등의 패키지를 사용하여 더 높은 수준의 그림을 가시화할 수 있습니다.
[특징]
-
데이터를 이해하기 위해서 통계 분석 및 데이터 시각화가 요구되며 이 프로그램은 이러한 목적을 달성하기 위한 소프트웨어
[기능]
-
데이터형 소개
[활용 자료]
-
없음
[자료 처리 방안 및 활용 분석 기법]
-
없음
[사용법]
-
소스 코드 예시 참조
[사용 OS]
-
Windows 10
[사용 언어]
-
R v3.6.2
-
R Studio v1.2.5033
소스 코드
-
반복문은 for 또는 while로 수행한다.
-
단, R의 for문장과 while문장의 실행 속도는 매우 느리다.
-
따라서 가능한 한 이러한 반복 구문을 피해야 한다.
-
때문에 대부분의 반복 구문은 벡터 연산 또는 기존 함수에 의해 대체된다.
-
예를 들어, 누적합, 또는 팩토리얼 등을 수행할 때 for문장 대신 다음과 같은 기존 함수를 이용하여 빠르게 계산할 수 있다.
함수 | 기능 |
prod(1:n) | 주어진 벡터의 곱을 계산. 1:n 을 제공함으로써 누적 곱을 계산할 수있다. |
factorial(n) | 누적곱을 계산.prod(1:n) = factorial(n) = gamma(n+1) |
lfactorial(n) | factorial 의 log 버전.lfactorial(n) = log(factorial(n)) |
cumsum(1:n) | 입력 벡터의 누적 합계를 계산한다. cumsum(1:n)= 1 + 2 + 3 + ... + n. |
cumprod(1:n) | 입력 벡터의 누적 제곱을 계산한다. cumprod(1:n)= 1 * 2 * 3 * ... * n. |
choose(n, k) | n개의 집합에서 k개의 요소를 골라야 때 조합의 경우의 수를 구한다. |
combn(n, k) | n개의 집합에서 k개의 요소를 골라야 때의 모든 조합을 구한다. |
[for 문에 의한 반복처리]
-
for문을 이용한 반복은 미리 반복 횟수를 줄일 필요가 있다.
-
다음은
for문을 이용하여 1에서 100까지의 합을 계산하는 예이다.
s = 0
for (i in 1:100) {
s <- s + i
}
# 벡터 계산
s <- sum(1:100)
-
다음은 1에서 100까지의 정수 중 2의 배수이면서 3의 배수가 아닌 정수를 화면에 출력하는 예이다.
for (i in 1:100) {
if (i %% 2 == 0 && i %% 3 != 0) {
print (i)
}
}
# 벡터 계산
x <- 1:100
x[(x %% 2 == 0) & (i %% 3 != 0)]
[while 문에 의한 반복처리]
-
while문장은 어떤 조건식이 주어지면 그 조건식이 거짓이 될 때까지 처리를 계속 반복하는 구문이다.
-
for문장과 달리, 반복의 최대 횟수를 설정하지 않아도된다.
-
다음은 1에서 100까지의 합계를 while문에서 계산하는 예시이다.
-
while문에 다음과 같이 조건식을 주는 것으로, for문장과 같은 행동을 할 수있다.
s <- 0
i <- 100
while (i > 0) {
s <- s + i
i <- i - 1
}
-
다음은 1,2,3, ..., 순으로 더해 가고 그 합이 처음 1000을 넘었을 때에, 덧셈 처리를 중지하는 예시이다.
s <- 0
i <- 1
while (s < 1000) {
s <- s + i
i <- i + 1
}
s
## [1] 1035
# ベクトル処理
x <- 1:100
s <- cumsum(x)
s[1000 < s][1]
## [1] 1035
[다음글]
[이전글]
참고 문헌
[논문]
- 없음
[보고서]
- 없음
[URL]
- 없음
문의사항
[기상학/프로그래밍 언어]
- sangho.lee.1990@gmail.com
[해양학/천문학/빅데이터]
- saimang0804@gmail.com
본 블로그는 파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'프로그래밍 언어 > R' 카테고리의 다른 글
[R] R을 이용한 통계 분석 및 데이터 시각화 : 패키지 (2) | 2020.03.27 |
---|---|
[R] R을 이용한 통계 분석 및 데이터 시각화 : 재귀 (0) | 2020.03.27 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 분기문 (0) | 2020.03.27 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 함수 (0) | 2020.03.27 |
[R] R을 이용한 통계 분석 및 데이터 시각화 : 수학 기본 함수 (0) | 2020.03.26 |
최근댓글