수업(국비지원)/R
[R] 시각화 - 그래프, 히스토그램, 상자그래프
byeolsub
2023. 4. 21. 23:36
📌
#시각화
y2017 <- c(116215,3437,26183,7522,147,1411)
y2016 <- c(104359,3393,24527,7058,102,975)
#rbind : 행을 연결해서 하나의 데이터를 만드는
df <- rbind(y2017,y2016)
df
class(y2017)
class(df)
#컬럼 이름 설정하기
colnames(df) <- c('시','소설','수필','평론','희곡','기타')
df
#막대그래프
barplot(df,main='문인잡지의 작품 발표 현황',
xlab = '작품종류',
ylab = '발표건수',
col = c('maroon','indianred'), #색상
legend.text = c('2017','2016')) #범례
barplot(df,main='문인잡지의 작품 발표 현황',
xlab = '작품종류',
ylab = '발표건수',
col = c('maroon','indianred'),
legend.text = c('2017','2016'),beside=T)
###히스토그램 : 자료의 분포를 시각화
cars #제동거리
dist <- cars[,2]
dist
hist(dist)
#breaks = 12 : 값의 구간을 12개로 분리
hist(dist,breaks = 12)
h <- hist(dist,main='Histogram for 제동거리',breaks=6)
h
#h$breaks : 값의 구간값
#h$counts : 값의 구간별 빈도수(갯수). 막대의 크기
#h$density : 밀도값.
#h$$mids : 중간 값.
#h$xname : 데이터의 이름
#h$equidist : 그래프의 간격이 일정한지?
h <- hist(dist,main='Histogram for 제동거리',breaks=12)
h$breaks
h$counts
h <- hist(dist,main='Histogram for 제동거리',breaks=10) #실행 되지 않음. 12개로 나뉘어진다,
h$breaks
install.packages('Stat2Data')
library(Stat2Data)
data("Diamonds")
str(Diamonds)
head(Diamonds)
#캐럿당 가격의 분포를 히스토그램으로 출력하기
h <- hist(Diamonds$PricePerCt,main="캐럿당 가격의 분포")
h$breaks
h$counts
#색상 설정
color <- rep('orange',9)
color
#캐럿당 가격의 분포를 히스토그램으로 출력하기
h <- hist(Diamonds$PricePerCt,main="캐럿당 가격의 분포",
xlab='캐럿당 가격',
ylab='빈도수',col=color)
h <- hist(Diamonds$PricePerCt,main="캐럿당 가격의 분포",
xlab='캐럿당 가격',
ylab='빈도수',col='blue')
#캐럿당 가격의 분포를 히스토그램으로 출력하기
#빈도수가 많은 막대 색상을 red로 변경
#which.max(h$counts) : 데이터중 가장 큰 값의 인덱스를 리턴
color[which.max(h$counts)] <- 'red'
color[3] <- 'red'
h <- hist(Diamonds$PricePerCt,main="캐럿당 가격의 분포",
xlab='캐럿당 가격',
ylab='빈도수',col=color)
####상자 그래프
# 사분위수를 시각화
#1사분위수 : 25%에 해당하는 값
#중간값 : 50%에 해당하는 값
#3사분위수 : 75%에 해당하는 값
#최대값 : 100%에 해당하는 값
# 특이값 : 시스템이 생각할 때 범위 밖에 존재하는 값.
str(cars)
dist <- cars[,2]
max(dist)
boxplot(dist,main='자동차 제동거리')
boxplot.stats(dist) #박스그래프의 설명
# $stats : 2 26 36 56 93
#2 : 최소값
#26 : 1사분위 값
#36 : 중간 값(혹은 2사분기 값)
#56 : 3사분기 값
#93 : 최대값(특이값을 제외한 것의 값)
#$n : 현재 관측한 값의 갯수
#$conf : 중간 값의 신뢰구간
#$out : 특이값
#그룹화된 박스 그래프
boxplot(Petal.Length~Species,
data=iris,
main='품종별 꽃잎의 길이',
col=c('green','yellow','blue'))
### 산정도
# 두변수 사이의 관계를 파악할 때 사용되는 그래프
# 상관계수와 밀접함.
# A,B 변수가 있는 경우
# 상관계수 : A 1이 변동되는 경우 B 1이 변동 됨. 1
# 상관계수 : A 2이 변동되는 경우 B 1이 변동 됨. 0.5
mtcars #자동차 연비에 해당하는 데이터
#mpg : 연비
#wt : 차량의 무게
plot(mtcars$wt,mtcars$mpg,main='중량별 연비',
xlab='중량',
ylab='연비',
col = 'blue')
#상관계수
cor(mtcars$wt,mtcars$mpg)