공부하는 블로그
[통계학의 이해Ⅰ] 4주차 다변량 자료 기술통계 -4. 기술통계 실습 (R)-과제 본문
728x90
해당 글은 숙명여자대학교 여인권 교수님의
K-MOOC 통계학의 이해Ⅰ(2019.05.01~2019.08.03) 강의를 수강하며 복습 및 정리하기 위해 작성한 글입니다.
과제
과제1
- 타이타닉호 예제를 실습에서는 생존율을 분석했다.
- 과제에서는 사망률을 분석해라
# 과제1
# 타이타닉호 에제에서 생존율 대신 사망률을 이용해서 정리하기
titanic <- read.csv("titanic.csv" , fileEncoding = "CP949", encoding = "UTF-8")
head(titanic)
tail(titanic)
ttn.table <- with(titanic,table(Class,Survived,Group))
ftable(ttn.table)
table3way <- ftable(ttn.table,row.vars="Class",col.vars=c("Group","Survived"))
ttn.ftable <- data.frame(table3way)
ttn.death <- ttn.ftable[ttn.ftable$Survived == "No",]
# 등실별사망률
death <- with(ttn.death,tapply(Freq,Class,sum))
total <- with(ttn.ftable,tapply(Freq,Class,sum))
round(100*death/total,1)
# 그룹별 사망률
death <- with(ttn.death,tapply(Freq,Group,sum))
total <- with(ttn.ftable,tapply(Freq,Group,sum))
round(100*death/total,1)
id <- 1:12
ttn.death$Rate <- round(100*ttn.death$Freq/(ttn.ftable$Freq[id]+ttn.ftable$Freq[id+12]),1)
par(mfrow=c(1,1))
ttnbar <- matrix(ttn.death$Rate,4,3)
row.names(ttnbar) <- c("1등급","2등급","3등급","승무원")
colnames(ttnbar) <- c("남자","어린이","여자")
barplot(ttnbar, beside = TRUE, legend = rownames(ttnbar), ylim = c(0, 100), main = "타이타닉호 사망률")
abline(h=c(20,40,60,80,100),lty=3)
abline(h=0)
과제2
- 실습에서는 올림픽 육상 남자기준으로 분석했다.
- 과제에서는 올림픽 육상 여자 100m 우승기록을 이용하여 연도와 기록의 공분산, 상관계수를 계산
### Olympic 육상 100M 우승기록
olympic <- read.csv("100m.csv")
head(olympic)
tail(olympic)
with(olympic,plot(year,record))
male <- subset(olympic,gender=="M")
female <- subset(olympic,gender=="F")
with(male,plot(year,record,ylim=c(9,13),cex=1.2))
with(female,points(year,record,pch=16,cex=1.2))
legend(2000,13,legend=c("남자","여자"),pch=c(1,16),bty="n",cex=1.2)
n <- nrow(female)
Sxy <- sum(female$year*female$record)-sum(female$year)*sum(female$record)/n
Sxy/(n-1) # 공분산
Sxx <- sum(female$year^2)-sum(female$year)^2/n
Syy <- sum(female$record^2)-sum(female$record)^2/n
Sxy/sqrt(Sxx*Syy)
with(female,cov(year,record))
with(female,cor(year,record))
과제3
- 실습에서는 남자, 여자, 76명, 70명을 고정을 시켜놓고 어떤 모형을 좋아하는지 비교하는 문제를 진행했다.
- 과제에서는 반대로 스마트폰 A 모형, B 모형, C 모형이 52개, 56개, 38개 라고 주어졌을 때, 남녀의 데이터가 얻어진다면 어떻게 비교하고, 어떻게 원도표를 그리는지 진행
# 과제3
# 스마트폰 선호도 예제에서 모델별로 data 그려보기
smart <- read.csv("smart.csv" , fileEncoding = "CP949", encoding = "UTF-8")
head(smart)
tail(smart)
smarttable <- table(smart$gender,smart$model)
smart.prop <- round(100*prop.table(smarttable,2),1)
# 원도표
par(mfrow=c(1,3))
pie(smart.prop[,1],main="model A")
pie(smart.prop[,2],main="model B")
pie(smart.prop[,3],main="model C")
※ 강좌는 청강한 것이라 과제 검토받지 못하였습니다. 학습한 내용 기반으로 작성한 것이므로 정답인지 아닌지 알 수 없습니다.
'통계 > 통계학의 이해Ⅰ' 카테고리의 다른 글
[통계학의 이해Ⅰ] 5주차 확률의 기본 개념과 원리 -2. 경우의 수 (0) | 2024.01.20 |
---|---|
[통계학의 이해Ⅰ] 5주차 확률의 기본 개념과 원리 -1. 확률이란? (0) | 2024.01.17 |
[통계학의 이해Ⅰ] 4주차 다변량 자료 기술통계 -3. 공분산과 상관계수 (0) | 2024.01.15 |
[통계학의 이해Ⅰ] 4주차 다변량 자료 기술통계 -2. 비교그림과 산점도 (0) | 2024.01.15 |
[통계학의 이해Ⅰ] 4주차 다변량 자료 기술통계 -1. 분할표와 그래프 (2) | 2024.01.15 |