탐색적 분석
in Notes / Dataanalytics / R / R Programming Language
Another widely used data structure for data analyzing
- 아직 못 끝냄 ..
TDM
예제 데이터
TDM <- data.frame( words=vector() )
for (i in list.files(path="./13_data")) {
file <- scan(file = paste('./13_data', i, sep="/"), what="char", quote=NULL)
file <- gsub('[(].+?[)]', '', tolower(file))
file <- gsub('^[[:punct:]]+|[[:punct:]]+$', '', file)
file <- file[ nchar(file) > 0 ]
TDM <- merge( TDM, data.frame( table(file)),
by.x = "words", by.y = "file", all = T)
colnames(TDM)[length(TDM)] <- substring(i, 1, 4) }
# colname은 취임연도별
TDM <- data.frame(row.names=TDM$words, TDM[2:length(TDM)])
TDM[ is.na(TDM)] <- 0
colnames(TDM) <- gsub('X', '', colnames(TDM))
TDM['RowSums'] <- rowSums(TDM)
TDM <- TDM[order(TDM$RowSums, decreasing = T), ]
#Stop Words 제거하기
stop <- readLines('13_EnglishStopwords.txt')
NEW <- TDM[!(rownames(TDM) %in% stop), ]
1. 계층적 군집분석
- 유사도/비유사도에 따라 군집으로 분류
- hierarchical clustering
- bottom up (유사도 높은 항목부터 결함)
- 덴드로그램
plot( hclust( dist( scale ..., method = 'minkowski'), method= 'ward.D2'))
- 단점:
- height 가 높은 곳에서는 무의미함
개별적인 유사도는 고려되기 어려움
- 행 따로, 열 따로 분석하므로 행범주와 열범주 사이의 관련성을 파악하기 어려움
- 유사도 거리 계산 방법, 연결 방법 선택의 문제 (파일수가 많아야 다루기 용이)
2. 주성분 분석
- 계층적 군집분석의 단점을 대부분 보완함
- PCA (Principal Component Analysis)
- 변수 간의 상관관계가 있는 다차원의 데이터를 효율적으로 저차원의 데이터로 요약
- bi plot
- 90도 이내: 양의 상관성
- 180도 음의 상관성
- 관계설정이 자유로우나 해석이 어렵다
install.packages('AMR')
library(AMR)
PCA <- prcomp( scale ....)>
3. 대응분석 correspondence analysis
지각도 (perception map)에서 공간적 좌표를 통해 공간적 방향과 근접성에 따라 상관성, 군집분석
3 x 3 이상의 빈도 교차표, 즉, 행과 열로 구성되는 각 범주 간 절대빈도자료에서만 적용
시각적 분석 원리…
install.packages('ca')
library(ca)
plot(ca (NEW[]), arrows=c(1,0))