Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Spring
- Java
- table
- Eclipse
- tomcat
- MSSQL
- vaadin
- Python
- Sqoop
- 공정능력
- react
- Express
- JavaScript
- window
- 보조정렬
- R
- Android
- SSL
- mybatis
- plugin
- Kotlin
- IntelliJ
- es6
- SQL
- NPM
- mapreduce
- hadoop
- GIT
- xPlatform
- SPC
Archives
- Today
- Total
DBILITY
R arithmetic operation and deal with NA (Not Assign-missing data) 본문
statistics/R
R arithmetic operation and deal with NA (Not Assign-missing data)
DBILITY 2018. 11. 23. 16:31반응형
사칙연산 등 직접 해보면 된다.
기술통계의 기본 함수들을 시험했다.
#나머지 mod
> 7%%3
[1] 1
#몫
> 7%/%3
[1] 2
#나누기
> 7/3
[1] 2.333333
#자승
> 2^2
[1] 4
> 2^3
[1] 8
#제곱근
> sqrt(2)
[1] 1.414214
> sqrt(2)^2
[1] 2
> x<-c(1,2,3,4,5)
> str(x)
num [1:5] 1 2 3 4 5
> class(x)
[1] "numeric"
#합계
> sum(x)
[1] 15
#최대값
> max(x)
[1] 5
#최소값
> min(x)
[1] 1
#평균값
> mean(x)
[1] 3
#표본분산
> var(x)
[1] 2.5
#표본표준편차
> sd(x)
[1] 1.581139
#중위수
> median(x)
[1] 3
> x<-c(1,2,3,4,5,3)
> x
[1] 1 2 3 4 5 3
#중복제거
> unique(x)
[1] 1 2 3 4 5
#두 번째 인수에서 첫 번째 인수와 (첫 번째) 일치하는 위치의 벡터를 반환
> match(x,unique(x))
[1] 1 2 3 4 5 3
#벡터의 각 원소의 출현 횟수계산
> tabulate(x)
[1] 1 1 2 1 1
> tabulate(match(x,unique(x)))
[1] 1 1 2 1 1
#벡터 최대값의 인덱스
> which.max(tabulate(x))
[1] 3
#최빈값
> z<-unique(x)
> z[which.max(tabulate(match(x,z)))]
[1] 3
#다음과 같이도 된다.
x<-c(1,2,3,4,5,3,'a')
x
> table(x)
x
1 2 3 4 5 a
1 1 2 1 1 1
> which.max(table(x))
3
3
#최빈값
> names(which.max(table(x)))
[1] "3"
결측치(missing data) NA에 대한 연산은 NA를 업무적으로 어떻게 정의하느냐에 따라 달라질 수 있다.
만약 NA에 대한 처리 없이 연산을 할 경우 결괏값은 NA가 된다.
ASA 미국 상업 항공편 운항 통계 데이터에 출발,도착시간에 NA가 있었던 거 같다. 그땐 왜 저렇게 표시를 했나 생각했는데, 의미 있는 것이었구먼.
연산용 함수들에 옵션으로 na.rm=TRUE로 설정 시 제거하고 계산하나 보다.
na.으로 시작하는 함수들에 다음과 같은 것이 있다.
na.fail(object, ...)
na.omit(object, ...)
na.exclude(object, ...)
na.pass(object, ...)
> x<-c(1,2,NA,4,5)
> sum(x)
[1] NA
> sum(x, na.rm = TRUE)
[1] 12
> mean(x)
[1] NA
> mean(x, na.rm = TRUE)
[1] 3
> max(x)
[1] NA
> max(x, na.rm = TRUE)
[1] 5
> min(x)
[1] NA
> min(x, na.rm = TRUE)
[1] 1
> var(x)
[1] NA
> var(x, na.rm = TRUE)
[1] 3.333333
> sd(x)
[1] NA
> sd(x, na.rm = TRUE)
[1] 1.825742
> median(x)
[1] NA
> median(x, na.rm = TRUE)
[1] 3
> df<-data.frame(a=c(1,2,3),b=c('a',NA,'c'),c=c('a','b',NA))
> df
a b c
1 1 a a
2 2 <NA> b
3 3 c <NA>
> na.fail(df)
Error in na.fail.default(df) : 객체안에 결측값들이 있습니다
> na.omit(df)
a b c
1 1 a a
> na.exclude(df)
a b c
1 1 a a
> na.pass(df)
a b c
1 1 a a
2 2 <NA> b
3 3 c <NA>
반응형
'statistics > R' 카테고리의 다른 글
R file input, output ( 파일 입출력 ) (0) | 2018.11.24 |
---|---|
R user defined function, variable scope ( 사용자 정의 함수와 변수의 스코프 ) (0) | 2018.11.23 |
R control statements ( 제어문 ) (0) | 2018.11.23 |
R type casting ( 데이터 형 변환 ) (0) | 2018.11.23 |
R data type array, dataframe (배열, 데이터프레임) (0) | 2018.11.22 |
Comments