R Language
기본 플롯
수색…
매개 변수
매개 변수 | 세부 |
---|---|
x | x 축 변수. data$variablex 또는 data[,x] |
y | y 축 변수. data$variabley 또는 data[,y] |
main | 줄거리의 주요 제목 |
sub | 선택적 플롯의 부제목 |
xlab | x 축 레이블 |
ylab | y 축 레이블 |
pch | 플롯 팅 기호를 나타내는 정수 또는 문자 |
col | 색상을 나타내는 정수 또는 문자열 |
type | 플롯의 유형. "p" 점, "l" 라인, "b" 양자 모두를 들면, "c" 형의 라인 부분 "b" , "o" 모두 'overplotted'대 "h" '의 histogram' 형상 ( 또는 '고밀도') 수직 라인, "s" 계단 단계는, "S" 의 다른 단계는, "n" 아니오 플롯 |
비고
"매개 변수"섹션에 나열된 항목은 par
함수로 수정하거나 설정할 수있는 가능한 작은 매개 변수입니다. 좀 더 자세한 목록은 par
를 참조하십시오. 또한 시스템 특정 대화식 그래픽 장치를 포함한 모든 그래픽 장치에는 출력을 사용자 정의 할 수있는 매개 변수 집합이 있습니다.
기본 플롯
기본 플롯은 plot()
을 호출하여 생성됩니다. 여기서 우리는 cars
속도와 1920 년대에 멈출 거리를 포함하는 내장 cars
데이터 프레임을 사용합니다. (데이터 세트에 대한 자세한 내용은 도움말 (자동차) 사용).
plot(x = cars$speed, y = cars$dist, pch = 1, col = 1,
main = "Distance vs Speed of Cars",
xlab = "Speed", ylab = "Distance")
우리는 코드에서 다른 많은 변형을 사용하여 동일한 결과를 얻을 수 있습니다. 다른 결과를 얻기 위해 매개 변수를 변경할 수도 있습니다.
with(cars, plot(dist~speed, pch = 2, col = 3,
main = "Distance to stop vs Speed of Cars",
xlab = "Speed", ylab = "Distance"))
points()
, text()
, mtext()
, lines()
, grid()
등을 호출하여 추가 기능을이 플롯에 추가 할 수 있습니다.
plot(dist~speed, pch = "*", col = "magenta", data=cars,
main = "Distance to stop vs Speed of Cars",
xlab = "Speed", ylab = "Distance")
mtext("In the 1920s.")
grid(,col="lightblue")
Matplot
matplot
은 동일한 객체 (특히 행렬)의 여러 관측 세트를 동일한 그래프에 신속하게 플로팅하는 데 유용합니다.
다음은 무작위 추출의 네 가지 집합을 포함하는 행렬의 예입니다. 각각 무작위 추출이 있습니다.
xmat <- cbind(rnorm(100, -3), rnorm(100, -1), rnorm(100, 1), rnorm(100, 3))
head(xmat)
# [,1] [,2] [,3] [,4]
# [1,] -3.072793 -2.53111494 0.6168063 3.780465
# [2,] -3.702545 -1.42789347 -0.2197196 2.478416
# [3,] -2.890698 -1.88476126 1.9586467 5.268474
# [4,] -3.431133 -2.02626870 1.1153643 3.170689
# [5,] -4.532925 0.02164187 0.9783948 3.162121
# [6,] -2.169391 -1.42699116 0.3214854 4.480305
같은 그래프에서 이러한 모든 관측치를 플롯하는 한 가지 방법은 하나의 plot
호출 다음에 세 개의 points
또는 lines
호출을 수행하는 것입니다.
plot(xmat[,1], type = 'l')
lines(xmat[,2], col = 'red')
lines(xmat[,3], col = 'green')
lines(xmat[,4], col = 'blue')
그러나이 작업은 지루하고 문제를 일으 킵니다. 다른 것들 중에서도 기본적으로 축 제한은 첫 번째 열에 만 맞게 plot
으로 고정되어 있기 때문에 문제가 발생합니다.
훨씬 더 편리하게이 상황에서는 사용하는 것입니다 matplot
단 하나의 호출을 필요로 자동으로 구별 할 수 있도록 각 열에 대해 축 한계의 관심과 미학을 변경 소요 기능을.
matplot(xmat, type = 'l')
matplot
은 기본적으로 색상 ( col
)과 선 종류 ( lty
)를 모두 변경하므로 가능한 조합이 반복되기 전에 조합이 증가하므로주의하십시오. 그러나,이 미학의 어떤 (또는 둘 다) 단일 값으로 고정 될 수 있습니다 ...
matplot(xmat, type = 'l', col = 'black')
... 또는 사용자 정의 벡터 (표준 R 벡터 재활용 규칙에 따라 열 수로 재활용됩니다).
matplot(xmat, type = 'l', col = c('red', 'green', 'blue', 'orange'))
main
, xlab
, xmin
포함한 표준 그래픽 매개 변수는 plot
과 똑같은 방식으로 작동합니다. 자세한 내용은 ?par
.
plot
과 마찬가지로, 하나의 객체 만 주어진다면, matplot
은 그것이 y
변수라고 가정하고 x
대한 색인을 사용합니다. 그러나 x
와 y
는 명시 적으로 지정할 수 있습니다.
matplot(x = seq(0, 10, length.out = 100), y = xmat, type='l')
사실, x
와 y
는 모두 행렬이 될 수 있습니다.
xes <- cbind(seq(0, 10, length.out = 100),
seq(2.5, 12.5, length.out = 100),
seq(5, 15, length.out = 100),
seq(7.5, 17.5, length.out = 100))
matplot(x = xes, y = xmat, type = 'l')
히스토그램
히스토그램은 기본 데이터 분포의 의사 플롯을 허용합니다.
hist(ldeaths)
hist(ldeaths, breaks = 20, freq = F, col = 3)
플롯 결합하기
하나의 그래프 (예 : Scatterplot 옆의 Barplot)에서 여러 플롯 유형을 결합하는 것이 유용합니다. R은 par()
및 layout()
함수를 사용하여이 작업을 쉽게 수행합니다.
par()
par
는 인수 mfrow
또는 mfcol
을 사용하여 플롯의 격자로 사용할 nrows 및 ncols c(nrows, ncols)
행렬을 작성합니다. 다음 예제는 하나의 그래프에서 네 개의 플롯을 결합하는 방법을 보여줍니다.
par(mfrow=c(2,2))
plot(cars, main="Speed vs. Distance")
hist(cars$speed, main="Histogram of Speed")
boxplot(cars$dist, main="Boxplot of Distance")
boxplot(cars$speed, main="Boxplot of Speed")
layout()
layout()
은 좀 더 유연하며 최종 결합 그래프에서 각 플롯의 위치와 범위를 지정할 수 있습니다. 이 함수는 행렬 객체를 입력으로 기대합니다.
layout(matrix(c(1,1,2,3), 2,2, byrow=T))
hist(cars$speed, main="Histogram of Speed")
boxplot(cars$dist, main="Boxplot of Distance")
boxplot(cars$speed, main="Boxplot of Speed")
밀도 플롯
히스토그램에 대한 매우 유용하고 논리적 인 후속 작업은 무작위 변수의 평활화 된 밀도 함수를 플로팅하는 것입니다. 명령으로 생성 된 기본 플롯
plot(density(rnorm(100)),main="Normal density",xlab="x")
~ 같이 보일거야.
히스토그램과 밀도 곡선을
x=rnorm(100)
hist(x,prob=TRUE,main="Normal density + histogram")
lines(density(x),lty="dotted",col="red")
주는
실증적 누적 분포 함수
히스토그램과 밀도 플롯에 대한 매우 유용하고 논리적 인 후속 조치는 경험적 누적 분포 함수입니다. 이를 위해 ecdf()
함수를 사용할 수 있습니다. 명령으로 생성 된 기본 플롯
plot(ecdf(rnorm(100)),main="Cumulative distribution",xlab="x")
R_Plots 시작하기
- 산포도
두 개의 벡터가 있고 그 벡터를 그려야합니다.
x_values <- rnorm(n = 20 , mean = 5 , sd = 8) #20 values generated from Normal(5,8)
y_values <- rbeta(n = 20 , shape1 = 500 , shape2 = 10) #20 values generated from Beta(500,10)
세로축에 x_values
와 가로축에 y_values
가있는 플롯을 만들려면 다음 명령을 사용할 수 있습니다.
plot(x = x_values, y = y_values, type = "p") #standard scatter-plot
plot(x = x_values, y = y_values, type = "l") # plot with lines
plot(x = x_values, y = y_values, type = "n") # empty plot
콘솔에 ?plot()
을 입력하여 더 많은 옵션을 읽을 수 있습니다.
- 박스 플롯
몇 가지 변수가 있고 그 분포를 검사하고 싶습니다.
#boxplot is an easy way to see if we have some outliers in the data.
z<- rbeta(20 , 500 , 10) #generating values from beta distribution
z[c(19 , 20)] <- c(0.97 , 1.05) # replace the two last values with outliers
boxplot(z) # the two points are the outliers of variable z.
- 히스토그램
히스토그램을 그리는 쉬운 방법
hist(x = x_values) # Histogram for x vector
hist(x = x_values, breaks = 3) #use breaks to set the numbers of bars you want
- Pie_charts
변수의 빈도를 시각화하려면 파이를 그립니다.
먼저 빈도가있는 데이터를 생성해야합니다. 예를 들면 다음과 같습니다.
P <- c(rep('A' , 3) , rep('B' , 10) , rep('C' , 7) )
t <- table(P) # this is a frequency matrix of variable P
pie(t) # And this is a visual version of the matrix above