기타/R

[R]난생처음 R코딩&데이터 분석-8장 연습문제

stonesy 2021. 11. 21. 21:59
728x90

1.다음을 읽고, (A)와 (B)에 맞는 용어를 적으시오.

히스토그램과 막대그래프는 막대의 높이를 통해 빈도를 표현한다. 범주가 정해져 있는 데이터의 경우에는 (A)막대그래프를, 숫자형 자료일 경우에는 (B)히스토그램을 사용한다.

 

2.어떤 사안에 대한 찬반 의견을 수집하였다. 결과를 막대그래프 또는 히스토그램으로 만드는 코드를 작성하려고 한다. 단, x축의 값을 T는 Yes로, F는 No로 변경하고 각각 다른 색으로 나타내시오. 또한 색은 colors()함수의 실행 결과에서 사용가능한 색 이름을 선택해 사용하시오.

#2.
survey<-c(T,F,T,T,F,T,F,F,F,F)
colors()
tbl<-table(survey)
barplot(tbl,main='Result of Survey',
        names=c('No','Yes'),col='steelblue2')

 

3.R의 기본 데이터셋인 mtcars에서 실린더의 종류별 빈도를 그래프로 출력하는 코드를 작성하려고 한다.(실린더 정보는 cyl 열에 있음). 다음과 같은 그래프를 작성하기 위한 R코드를 작성하시오(단, 막대의 색은 자유롭게 선택 가능함)

tbl<-table(mtcars$cyl)
barplot(tbl,horiz = TRUE,
        col=c('slategray','seashell3','skyblue4'),
        main='실린더 종류별 분포',
        ylab='실린더의 수')

 

4.주어진 데이터셋을 사용하여 히스토그램을 출력하는 코드를 작성하시오(제목은 'Histogram of sleep', x축의 설명은 'Increase in hours of sleep',막대의 개수는 4개)

ds<-sleep$extra
tbl<-table(ds)
hist(ds,breaks=4,
     main='Histogram of sleep',
     xlab='Increase in hours of sleep')

 

5.주어진 데이터셋과 색을 사용하여 다음 그래프를 출력하는 코드를 작성하시오.

ds<-table(mtcars$cyl,mtcars$gear)
color<-c('tomato','salmon','peachpuff')
barplot(ds,main='Distribution of carburetors',
        beside=TRUE,col=color,
        legend.text=c('cyl4','cyl6','cyl8'))

##참고

#참고
dep.A<-c(66,72,74,80)
dep.B<-c(44,28,21,15)
dep.C<-c(26,32,35,36)
ds<-rbind(dep.A,dep.B,dep.C)
barplot(ds,main='분기별 영업이익',
        names=c('1Q','2Q','3Q','4Q'),
        beside=TRUE,col=c('tomato','orange','yellow'))

##

 

6.주어진 데이터셋과 색을 사용하여 다음 그래프를 출력하는 코드를 작성하시오.

ds<-trees$Height
color.6<-rep("#f1faee",6)
color.6[3:5]<-'#e63946'
hist(ds,col=color.6,
     main='Histogram of Black Cherry Trees',
     xlab='Height(ft)',ylab='Frequency')

 

7.여러 개의 그래프를 출력하기 위해 다음과 같이 화면을 6개로 분할하려고 한다. 화면의 여백은 아래5, 왼쪽4, 위4, 오른쪽 3으로 한다. 화면을 분할하는 명령문과 원래대로 초기화하는 명령문을 작성하시오.

par(mfrow=c(3,2),mar=c(5,4,4,3))
par(mfrow=c(1,1),mar=c(5,4,4,2)+.1)

 

8.다음은 한 중국 기관 보고서에 포함된 성별에 따른 브랜드 선호도에 대한 그래프이다. 주어진 데이터를 사용해 동일하게 출력하시오(막대그래프 색상코드: '#ffe66d','#00afb9').

male<-c(6.9,30.4,80.4)
female<-c(4.9,38.2,82.7)
ds<-rbind(male,female)
colnames(ds)<-c('samsung','apple','huawei')
par(mfrow=c(1,1),mar=c(5,5,5,5))
barplot(ds,horiz=TRUE,
        main='성별에 따른 브랜드 선호도',
        legend.text=c('여자','남자'),
        beside=TRUE, las=1,
        col=c('#ffe66d','#00afb9'),
        args.legend=list(x='right',bty='n',inset=c(-0.22,0)))
par(mfrow=c(1,1),mar=c(5,4,4,2)+.1)

 

9.다음 그래프는 한 연구 기관 보고서에 포함된 주요 국가별 공휴일 현황이다. 주어진 데이터를 사용해 다음 그래프를 출력하는 R코드를 작성하시오(막대그래프 색상명: 'grey','skyblue').

holyday<-c(14,15,15,16,14,11,12)
holyday.actual<-c(15,35,38,36,34,32,32)
ds<-rbind(holyday,holyday.actual)
colnameS(ds)<-c('한국','일본','독일','러시아','미국','프랑스','호주')
barplot(ds,beside=T,
        main='주요 국가별 공휴일 현황',
        names=c('한국','일본','독일','러시아','미국','프랑스','호주'),
        xlab='국가',col=c('gray','skyblue'),
        legend.text=c('공휴일 수','실제 쉬는 날'),
        args.legend=list(x='topleft',bty='n',inset=c(-0.2,-0.25)))
728x90