그래프의 종류
- 산점도 plot(x,y)
- 산점도 행렬 pairs()
- 상자그림(boxplot())
- 히스토그램(hist())
- 막대그래프(barplot())
그래프 종류 - Boxplot
-데이터의 분포를 파악하는 도구이다
**********************************************************매우 중요 시험에 자주 출제*******************************************
Q1값과 Q3값은 시험 문제에 주어짐(공식을 외울 것)
이상값 판단 기준 : Q1-1.5*IQR < x < Q3+1.5*IQR
IQR : Q3-Q1
Minnum : Q1-1.5*IQR
Maxinum : Q3+1.5*IQR
그래프의 종류 - Histogram
-히스토그램
- 도수분포표의 각 꼐급을 가로축에 나타내고, 해당 계급에 속하는 측정값의 도수를 세로축에 표시하여 직사각형 모양으로 그림
- 왼쪽으로 치우친 모양이라면 데이터가 전체 범위에서 수치가 낮은 쪽에 몰려 있음을 의미, 오른쪽에 치우쳐 있다면 높은쪽에 몰려 있음을 의미
- 한 쪽으로 치우치는 것 없이 비슷한 높이로 그려진다면 균일한 분포
- 막대 높이는 빈도를 나타내며, 폭은 의미가 없음
- 가로,세로축 모두 연속적임, 범주형에는 막대그래프를 사용함
- 많은 데이터를 가지고 있는 경우 보다 정확한 관계 파악을 할 수 있음
apply계열함수
- 데이터 조작에 편리한 기능 제공, apply함수가 가장 많이 사용됨
- for문 없이 miti-core사용으로 빠르게 연산가능
- split -> apply -> combine기능 제공,(데이터 분할 -> 함수 적용 -> 재결합)
apply
- apply(input:array, output:array)
- array에 행 또는 열별로 함수를 적용한 다음 그 결과를 vector 또는 array로 변환
lapply
- lapply(input:vector/list, output:list)
- vector, list에 함수를 원소별 적용하여 결과를 list로 반환
- vector로 변환을 위해 unlist사용
sapply
- sapply(input:list or vector, output:vector or array)
- lapply와 유사하지만 결과물,vector,matrix 또는 array로 반환
tapply
- tapply(input:list or vector and factor, output:vector or array)
- 입력 데이터를 특정기준으로 묶은 다음 각 그룹마다 주어진 함수를 적용하고 그 결과를 반환
패키지 설지, 대표적인 패키지
- 패키지 설치와 로딩
패키지 설치 | install.packages("패키지 이름") #패키지 이름은 문자열로 |
패키지 로딩 | library("패키지 이름"), library(패키지 이름) #패키지 이름은 문자열 / 이름 자체 |
주요 패키지
reshape | melt(data,id=..........):id에 정한 변수를 기준(=고정)으로 데이터 구조를 변경함 cat(data,fornula=..................,([function)] : 데이터를 fornula에 있는 형태로 변환하고 func 적용 formula=행변수(고정) ~ 열번수(변경), 여러개 변수는 +로 묶음 |
reshape2 | cast대신 acast,dcast사용 |
sqldf | sqldf('sql 문자열') |
plyr | ??ply,adply().ddply(),..................... |
plyr패키지
- plyr패키지의 함수들
- (입력 데이터)(출력 데이터)ply$글자의 함수명으로 이름이 지어짐
데이터 타입 | array | data.frame | list | nothimg |
array | aaply | adply | alply | a_ply |
data.frame | daply | ddply | dlply | d_ply |
list | laply | ldply | llply | l_ply |
n replicates | raply | rdply | rlply | r_ply |
function arguments | maply | mdply | mlply | m_ply |
-apply함수처럼 split-apply - combine처리하는 함수가 제공됨
-apply(데이터, margin=1(행),2(열),적용할 함수):
배열,행렬,데이터프레임을 입력으로 받아 데이터프레임을 출력하는 함수
-ddply(데이터,(그룹 지울 변수명),적용할 함수):
데이터프레임을 분할하고 함수에 적용 후 결과를 데이터 프레임으로 변환
유용한 함수들
paste()
- 입력받은 객체들의 같은 위치 요소를 하나의 문자열로 붙임
- number <- 1:5
- alphabst <-c('a','b','c')
- paste(number,alphaet)
substr()
- 주어진 문자열에서 특정 문자열 추출, substr(대상,시작위치,끝위치)
- fruit <--c('apple','banana','orange')
- substtr(fruit,1,2) <--'ap','ba','or'
split()
- 데이터를 분리할 때 사용, split(데이터 분리조건)
- split(iris,iris$Species) <--3개 data.frame을 갖는 List로 생성됨
subset()
- 특정 부분만 추출하는 용도
- subset(iris,Species == 'setosa' & Sepal.Length >5.0
- subset에 select인자를 지정하면 특전 열을 선택하거나 제외용도로 사용
- subset(iris,select =c(Sepal.Length,Species))
객체의 속성 관련 함수
is.numeric(x) | 객체유형이 numeric인지 판단 | TRUE/FALSE 반환 |
is.logical(x) | 객체유형이 logical인지 판단 | |
is.character(x) | 객체유형이 character인지 판단 | |
is.integer(x) | 객체유형이 정수인지 판단 | |
is.double(x) | 객체유형이 실수인지 판단 | |
is.factor(x) | 객체유형이 factor인지 판단 | |
is.null(x), is.na(x) | 객체가 NULL/NA인지 판단 | |
length(x) | 객체 원소의 개수 반환,matrix의 경우 행 * 열의 수 | |
nrow(x) | 행의 개수 반환(백터, 스칼라등에서 사용 못함) | |
NROW(x) | 백터의 행의 개수 반환(스칼라에서도 사용가능) |
결측치 대치법
-단순 대치법(Single Imputation)
완전히 응답한 개체분석
- completes analysis, 불완전한 자료는 모두 무시
- 부분적으로 관측된 자료를 무시하므로 생기는 효율성 살실, 통계적 추론의 타당성 문제 존제
평균데치법
- 관측 또는 실험을 통해 얻어진 데이터의 평균으로 결측값 대치
- 비조건부 평균 데치법 : 관측 데이터의 평균값으로 대치
- 조건부 평균대치법 : 회귀분석을 활용한 대치법
단순확률 대치법
- 평균데치법에서 추정한 표준오차의 과소추정문제를 보완하고자 고안됨
- Hot-dock, nearest neighbor방법 등이 있음
다중대치법
- 단순대치법을 한번이 아닌 m번 수행하여 m개의 가상적 완전 자료를 만듦
- 추정량 표준오차의 과소추정 또는 계산의 난해성 문제를 가지고 있음
결측치 인식, 선택, 삭제
is.na(x)
- x의 포함된 값이 NA인지 아닌지 각각에 대해 TRUE, FALUE 값을 반환함
- logical을 산술 연산이 가능하기 때문에 is.na함수 적용 후, sum 함수를 사용해 결측치 개수를 파악할 수 있음 sum(is.na(x))
complete.cases(x)
- x가 결측치를 가지고 있지 않은 완전한 데이터인지 확인하는 함수
- 행 별로 결측치가 없으면 TRUE, 있으면 FALSE를 반환함
x[!complete.cases(x),]
- indexing을 사용하여 결측치(NA)행만 추출
x[(complete.cases(x),]
- indexing을 사용하여 결측치(NA)를 포함하지 않은 행 추출
na.omit(x)
- 결측치(NA)가 있는 행 전체 삭제
이상값 검색
-이상값(Outlier)
- 의도하지 않게 잘못 입력된 경우(bad data)
- 분석 목적에 부합되지 않아 제거해야 하는 경우
- 의도하디 않은 현상이지만 분석에 포함해야 하는 경우
-이상값 판단
- ESD : 평균으로 부터 3*표준편차 밖의 값
- boxplot 사용 : IQR*1.5밖의 값
- summary() 사용 : 평균,중앙값,IQR를 보고 판단함
이상값 처리
- 이상값도 분석 대상이 될 수 있어 무조건 삭제는 안됨
'빅데이터분석준전문가자격증' 카테고리의 다른 글
ADsP. PART.3 - 데이터 분석 - 데이터 마트 - 2 (0) | 2022.06.25 |
---|---|
ADsP. PART.3 - 데이터 분석 - 데이터 마트 - 1 (0) | 2022.06.25 |
ADsP. PART.3 - 데이터 분석 - R의 기초 -1 (0) | 2022.06.23 |
ADsP. PART.3 - 데이터 분석 - 데이터 분석 기법의 이해 (0) | 2022.06.23 |
ADsP. PART.2 - 데이터 분석 기획 - 분석마스터 플랜 (0) | 2022.06.23 |