Practice makes perfect
[R] 주요 내장 함수 본문
728x90
반응형
SMALL
1. 행 단위, 컬럼 단위 합계와 평균 구하기
단계1 : 데이터 셋 불러오기
install.packages("RSADBE") - pakage 다운로드
library(RSADBE) - 메모리 할당
data(Bug_Metrics_Software) 데이터 셋을 불러옵니다.
class(Bug_Metrics_Software) - 데이터 구조 정보를 알려줍니다.
출력값 : [1] "xtabs" "table"
Bug_Metrics_Software[,,1] # 제품 출시 전
Bugs
출력값:
Software Bugs NT.Bugs Major Critical H.Priority
JDT 11605 10119 1135 432 459
PDE 5803 4191 362 100 96
Equinox 325 1393 156 71 14
Lucene 1714 1714 0 0 0
Mylyn 14577 6806 592 235 8804
Bug_Metrics_Software[,,2] # 제품 출시 후
Bugs
출력값:
Software Bugs NT.Bugs Major Critical H.Priority
JDT 374 17 35 10 3
PDE 341 14 57 6 0
Equinox 244 3 4 1 0
Lucene 97 0 0 0 0
Mylyn 340 187 18 3 36
단계2 : 소프트웨어 발표 전 행 단위 합계와 평균 구하기
rowSums(Bug_Metrics_Software[,,1]) -- rowsum : 행의 합계를 출력합니다.
출력값:
JDT PDE Equinox Lucene Mylyn
23750 10552 1959 3428 31014
rowMeans(Bug_Metrics_Software[,,1]) -- rowMeans : 행의 평균값을 출력합니다.
출력값:
#JDT PDE Equinox Lucene Mylyn
#4750.0 2110.4 391.8 685.6 6202.8
- rowSums : 열의 합계를 출력
- rowMeans : 열의 평균을 출력
단계3 : 소프트웨어 발표 전 열 단위 합계와 평균 구하기
colSums(Bug_Metrics_Software[,,1]) colSums -- 열의 합계를 출력합니다.
- 출력값 -
Bugs NT.Bugs Major Critical H.Priority
34024 24223 2245 838 9373
- 출력값 -
colMeans(Bug_Metrics_Software[,,1]) colMeans -- 열의 평균값을 출력합니다.
#Bugs T.Bugs Major Critical H.Priority
#6804.8 4844.6 449.0 167.6 1874.6
- colSums : 행의 합계 출력
- colMeans : 행의 평균 출력
2. 기술 통계량 관련 내장 함수 사용 예
seq(-2,2, by= .2) # seq(시작값, 마지막 값, 증가값)
- 출력값-
[1] -2.0 -1.8 -1.6 -1.4 -1.2 -1.0 -0.8 -0.6 -0.4 -0.2 0.0 0.2
0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0
vec <- 1:10
vec
- 출력값-
[1] 1 2 3 4 5 6 7 8 9 10
min(vec)
- 출력값-
[1] 1 (최소값)
max(vec)
- 출력값-
[1] 10 (최대값)
range(vec)
- 출력값-
[1] 1(최소값) 10(최대값)
mean(vec)
- 출력값-
[1] 5.5 (평균값)
median(vec)
- 출력값-
[1] 5.5 (데이터의 중간값)
sum(vec)
- 출력값-
[1] 55 (총합)
sd(rnorm(10))
- 출력값-
[1] 0.991409 (표준편차)
table(vec) # 요인의 빈도수
vec
- 출력값-
1 2 3 4 5 6 7 8 9 10
1 1 1 1 1 1 1 1 1 1
3. 난수와 확률 분포 관계
난수 : 기준이 되어지는 값을 지정해서 , 그 값이 절대 중복되지 않는 개념으로 수를 발생시켜 우리가 보기에는 난수처럼 보이게 하는 것이다. (default 값 : 현재 시간의 1/1000초 기준)
1 단계 : 정규 분포 (연속형)의 난수 생성
n <- 1000
r <- rnorm(n, mean = 0, sd = 1) # 평균 0, 표준편차 1 = 정규 분포
hist(r) # 대칭성
정규분포 rnorm( ) : 확률변수 X가 정규분포를 따르면 평균값에 대해 좌우 대칭이고, 분산값이 크면 더 크게 흩어진 분포를 갖습니다.
히스토그램 hsit() : 특정 데이터의 빈도수를 보는 것을 히스토그램이라고 합니다. 산포도와 더불어서 자주사용하는 그래프중 하나로 현재 상태를 대략적으로 볼 수 있습니다.
2 단계 : 균등분포(연속형)의 난수 생성
n <- 1000
r2 <- runif(n, min = 0, max= 1) # 0 < r2 < 1
hist(r2)
균등분포 runif() : 균등분포는 확률분포가 취하는 모든 구간에서 일정한 확률을 가지는 분포입니다.
3 단계 : 이항분포(이산형) 난수 생성
n <- 20
rbinom(n, 1, prob = 1/2) # 1/2 의 확률로 20개의 이상변수를 0과 1의 값을 가지는 이항분포를 생성
- 출력값 -
[1] 0 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0
rbinom(n, 2, prob = 1/2) # 1/2 의 확률로 20개의 이상변수를 0 ~ 2의 값을 가지는 이항분포를 생성
- 출력값 -
[1] 2 2 1 1 2 1 1 1 2 0 1 0 0 2 1 2 0 1 1 1
rbinom(n, 10, prob = 1/2) # 1/2 의 확률로 20개의 이상변수를 0 ~ 10의 값을 가지는 이항분포를 생성
- 출력값 -
[1] 3 3 6 4 4 3 7 3 5 7 6 6 5 5 4 4 3 3 5 7
4 단계 : 종자값(seed)으로 동일한 난수 생성.
rnorm(5, mean=0, sd=1) # 정규 분포 (평균 0, 표준편차 1)
- 출력값 1 -
[1] 0.7393503 0.6653646 -0.5210477 -1.3716350 -1.2954320
- 출력값 2 -
[1] -0.02988800 0.05601044 -0.29434405 -0.67715103 0.45006390
- 출력값 3 -
[1] 0.46050159 -0.55269490 -0.01527421 -0.24496429 -0.05962877
규칙적인 느낌으로 출력 됩니다.(random)
set.seed(123)
rnorm(5, mean=0, sd=1)
- 출력값 1 -
[1] -0.56047565 -0.23017749 1.55870831 0.07050839 0.12928774
- 출력값 2 -
[1] -0.56047565 -0.23017749 1.55870831 0.07050839 0.12928774
seed 값을 통일시키면 같은 값이 출력됩니다.
4. 수학 관련 내장함수 사용 예
vec <- 1:10 # combine함수 생략 가능
prod(vec) # product : 벡터 원소들의 곱셈
- 출력값 -
[1] 3628800 (1*2*3*4*...*10)
factorial(3)
- 출력값 -
[1] 6
abs(-5) # 절대값
- 출력값 -
[1] 5
sqrt(16) # 제곱근
- 출력값 -
[1] 4
log(10) # 10의 자연로그 (밑수가 e)
- 출력값 -
[1] 2.302585
log10(10) # 10의 일반로그(밑수가 10)
- 출력값 -
[1] 1
5. 집합연산 내장함수
x <- c(1,3,5,7,9)
y <- c(3,7)
union(x,y) # 집합 x와 y의 합집합
- 출력값 -
[1] 1 3 5 7 9
intersect (x, y) # 집합 x와 y의 교집합
- 출력값 -
[1] 3 7
setequal(x, y) # x와 y의 동일성 테스트
- 출력값 -
[1] FALSE
setdiff(x, y) # x의 모든 원소 중 y에는 없는 x와 y의 차집합
- 출력값 -
[1] 1 5 9
728x90
반응형
LIST
'빅데이터 > R' 카테고리의 다른 글
[R] 연속변수(Continuous quantitative data) 시각화 (0) | 2020.07.02 |
---|---|
[R] 이산변수 시각화 (0) | 2020.07.01 |
[R] 사용자 정의 함수 (0) | 2020.06.30 |
[R] 반복문 (for 문, while문) (0) | 2020.06.30 |
[R] 조건문 ( if 문, ifelse문 , swich문 , which문 ) (0) | 2020.06.29 |