R- 데이터 시각화

는는·2023년 4월 13일
0

R

목록 보기
15/23

R - 기본 함수

크게 작도함수와 작도디바이스 이용해서 그래프 작성

  • 작도함수 : 그래프를 출력하는 함수,
    작도 디바이스 : 그래프를 출력하는 함수 R스튜디오에서 plot창 통해서 출력

고수준의 작도함수
하나의 완성된 그래프를 그림
plot() -> 산점도, hist() -> 히스토그램

저수준의 작도함수
완성된 그래프에 도형이나 문자 추가
legend() -> 막대그래프의 범례 추가
abline() -> 산점도에 회귀작성 추가

간단한 명령으로 보기 좋은 그래프 작성 가능
그래프를 사용자화 할 수 있음

막대 그래프

barplot(a, border="green", density = c(10,20,30,40,50,60),
        names.arg = c("1월", "2월", "3월", "4월","5월","6월"), 
        main = "월 별 판매액(단위: 억원)", ylab = "매출액",horiz = TRUE)

Mdata <- matrix(c(a,b,c), 3, 6)
barplot(Mdata, ylab = '매출액', ylim = c(0, 100), col = rainbow(3),
        names.arg = c("1월", "2월", "3월", "4월","5월","6월"),
        beside = T)

선그래프

plot.new()
plot(a, type="o", xlab = "Data", ylab = "Frequency", col="yellow",
     pch= 19, lwd=3, cex=2)

  • pch = 표식의 종류 , lwd= 라인의 줄 굵기, cex= 표식 크기

par() 다양한 옵션의 표식과 선의 형식, 라인 타입,컬러색상을 달리해서 제시한다.

par(mar= c(3,3,3,3))
par(mfrow=c(1,3))
plot(a, type ='l', col =1, lty=2)
plot(b, type ="b", col =2, lty=4)
plot(c, type= 's', col=3, lty =6)

histogram

hist(data, nclass = 15, xlim = c(10,40), labels = T, ylim = c(1,5))

nclass 계급 구간의 계수
labels-> TRUE(혹은 문자열)을 지정하면 막대위의 label 출력

박스 그래프

boxplot(airquality$Ozone~airquality$Month, horizontal = TRUE, notch = TRUE)
  • horizontal = TRUE : 수평으로 상자그림 그리기
    notch = TRUE : 상자그림을 v 나 u자 형으로 움푹 파인 형태로 표시

pie 그래프

labeltext <- LETTERS[4:10]
ratio <- round(df$Freq/sum(df$Freq)*100,2)
label <- paste(labeltext, "\n", ratio, "%")
pie(df$Freq, col=rainbow(7), labels = label)

pie3D을 이용하면 3D가 됩니다.

저장하는 방법

png("myplot.png", width = 300, height = 600, unit="px", bg="transparent")
xyplot(lat~long|depth.cat, data = quakes)
dev.off()

lattice 패키지 시각화

ggplot2 패키지 시각화

ggplot(데이터프레임, aes(x= , y=))

ggplot(AIR,
       aes(x=Wind, y=Temp)) +
  geom_point(colour ='pink', size=4)

ggplot(AIR,
       aes(x=Wind, y=Temp)) +
  geom_point(aes(colour=Month,size=5))

ggplot(AIR,
       aes(x=Wind, y=Temp)) +
  geom_point(aes(colour=Month,size=5)) +
  geom_smooth(method = "lm", se = F, color ='brown', size=2) +
  labs(x="Daily Wind", y="Daily Temp")
  • geom_smooth() : 회귀직선
    labs() : 축이름 달기
ggplot(AIR, aes(Temp)) +
  geom_histogram(aes(y =..density..), binwidth = 1,
                 colour = "black", fill="gray") +
  labs(x="Daily Temp", y= "Density") +
  stat_function(fun=dnorm, args=list(mean(AIR$Temp), sd(AIR$Temp)),
                colour="blue", size =2)
  • geom_density() : 밀도 함수
ggplot(AIR, aes(x=factor(Month), y=Temp)) +
  geom_boxplot(aes(fill=factor(Month))) +
  labs(x="Month", y="Daily Temp")

  • geom_violin() 바이올렛

  • 출처 통계청 통계교육원

0개의 댓글