본문 바로가기

[2016 - 2019] 학부 정리/4학년

[4학년 - 빅데이터기술] R프로그래밍

그래프 그리기


■ 산점도 : plot(x, y)

install.packages("mlbench")

library(mlbench)

data(Ozone)

str(Ozone)

plot(Ozone$V8, Ozone$V9)


■ 그래프 옵션  

 □ 축 이름 (xlab, ylab)

plot(Ozone$V8, Ozone$V9, xlab = "Sandburg Temp", ylab = "El Monte Temp")


 □ 그래프 제목 (main = )

plot(Ozone$V8, Ozone$V9, xlab = "Sandburg Temp", ylab = "El Monte Temp", main="Ozone")


 □ 점의 종류(pch)

plot(Ozone$V8, Ozone$V9, xlab = "Sandburg Temp", ylab = "El Monte Temp", main="Ozone", pch="+")

**구글에서 r pch symbols 검색하기


 □ 점의 크기(cex)

plot(Ozone$V8, Ozone$V9, xlab = "Sandburg Temp", ylab = "El Monte Temp", main="Ozone", cex=.5)


 □ 점의 색상(col)
plot(Ozone$V8, Ozone$V9, xlab = "Sandburg Temp", ylab = "El Monte Temp", main="Ozone", col="tan2")
colors()  ##색상의 목록을 확인할 수 있다.

 □ 좌표축 값의 범위(xlim, ylim)
max(Ozone$V8, na.rm = T) ##Ozone$V8의 최댓값을 구하는데, 결측치는 없애고 구함
max(Ozone$V9, na.rm = T) ##Ozone$V9의 최댓값을 구하는데, 결측치는 없애고 구함 (범위를 정하기 위해서..)
plot(Ozone$V8, Ozone$V9, xlab = "Sandburg Temp", ylab = "El Monte Temp", main = "Ozone", xlim = c(0, 100), ylim = c(0, 90))
 
 □ type 바꾸기
data(cars)
str(cars)
head(cars)
---------------> data얻어오기
plot(cars)  ##산점도 그래프
plot(cars, type="l")  ##선그래프
plot(cars, type="o", cex=.5)  ##선과 점그래프

 □ 선유형(lty)
plot(cars, type="l", lty="dashed")


 □ 그래프의 배열(mfrow) : 한 창에 여러개의 그래프를 나열

opar <- par(mfrow=c(2,1))

plot(Ozone$V8, Ozone$V9, xlab = "Sandburg Temp", ylab = "El Monte Temp", main = "Ozone")

plot(Ozone$V8, Ozone$V9, xlab = "Sandburg Temp", ylab = "El Monte Temp", main = "Ozone2")

par(opar)


 □ 지터(jitter) : 중복 표현 방지를 위해 약간의 노이즈 추가 ??

plot(Ozone$V6, Ozone$V7, xlab = "Windspeed", ylab = "Humidity", main = "Ozone", pch=20, cex = 1.0)

plot(jitter(Ozone$V6), jitter(Ozone$V7), xlab = "Windspeed", ylab = "Humidity", main = "Ozone", pch = 20, cex = 1.0)


 □ 점(points)

plot(iris$Sepal.Width, iris$Sepal.Length, cex=1.0, pch=20, xlab = "width", ylab = "length", main = "iris")

points(iris$Petal.Width, iris$Petal.Length, cex=1.0, pch="+", col="red")


 □ 빈그래프 먼저 그리고 나중에 추가하기(type=n)

> with(iris, {

+ plot(NULL, xlim = c(0, 5), ylim = c(0, 10),

+ xlab = "width", ylab = "length", main = "iris", type="n")

+ points(Sepal.Width, Sepal.Length, cex=1.0, pch=20)

+ points(Petal.Width, Petal.Length, cex=1.0, pch="+", col="red")})


 □ 선(lines)

[0. 2파이]까지 sin그래프 그리기

x<-seq(0, 2*pi, 0.1)

y<- sin(x)

plot(x,y,cex=.5, col="red")

lines(x,y)


 □ 회귀분석(추세선 구하기)

plot(cars)

lines(lowess(cars))


 □ 직선(abline)

y = a + bx 직선 그리기

plot(cars, xlim=c(0, 25))

abline(a=-5, b=3.5, col="red")


 □ 평균직선 그리기

plot(cars, xlim=c(0, 25))

abline(a=-5, b=3.5, col="red")

abline(h=mean(cars$dist), lty=2, col="blue")

abline(v=mean(cars$speed), lty=2, col="green")


 □ 곡선(curve)

curve(sin, 0, 2*pi)