그래프 > 그래프를 파일로 저장하기 > PDF/Postscript/EPS로…
Graphs > Save graph to file > As PDF/Postscript/EPS...
'Graphs > Save graph to file' 카테고리의 다른 글
3. 3D RGL graph... (0) | 2022.03.07 |
---|---|
1. As bitmap... (0) | 2022.02.27 |
그래프 > 그래프를 파일로 저장하기 > PDF/Postscript/EPS로…
Graphs > Save graph to file > As PDF/Postscript/EPS...
3. 3D RGL graph... (0) | 2022.03.07 |
---|---|
1. As bitmap... (0) | 2022.02.27 |
그래프 > 그래프를 파일로 저장하기 > bitmap으로…
Graphs > Save graph to file > As bitmap...
3. 3D RGL graph... (0) | 2022.03.07 |
---|---|
2. As PDF/Postscript/EPS... (0) | 2022.02.27 |
그래프 > 색인 그림...
Graphs > Index plot...
데이터셋이 활성화되어 있는 경우, 색인 그림(index plot)을 사용할 수 있다. 예를 들어, carData 패키지의 Prestige 데이터셋이 활성화되어있다고 하자.
Prestige 데이터셋에 있는 education 변수의 색인 그림을 만들자. 메뉴창에 있는 variable (pick one or more) 에서 education을 선택한다. 그 아래에 있는 <집단별 표시...>에서 요인형 변수를 선택하여 요인 수준별로 색인 그림을 출력할지 결정할 수 있다(이 설명에서는 이 기능을 사용하지 않는다). 그리고 <선택기능> 디렉토리로 이동하여 세부사항을 점검한다.
<선택기능>의 메뉴창에 다양한 기능이 있다. <그림 이름표>에서 <y-축 이름표> <그래프 제목>는 자동적으로 변수이름이 사용되고 제목은 미설정되는데, '교육연수'와 'education index plot'이라고 입력하자. 그리고 예(OK) 버튼을 누른다.
새로운 그래픽 장치창이 등장한다. 그리고 그 장치창에 안의 아래 화면 왼쪽에 '교육연수'가, 상단 중앙에 'education index plot'이 출력된다. 한편 그래프 안에 두개의 사례 이름이 겹쳐서 인쇄된 현상을 보게된다.
아래 출력창을 살펴보자. indexplot() 함수의 코드 사용법을 먼저 살펴본다. 앞서 입력한 '교육연수', 'education index plot'이 인자 안에 들어있는 알 수 있다.
indexplot(Prestige[,'education', drop=FALSE], type='h', id.method='y', id.n=2,
ylab="교육연수", main="education index plot")
education 변수의 사례 값 중에서 university.teachers는 15.97, physicians는 15.96라는 두개의 최고 값을 갖는다. 출력창에는 university.teachers, physicians 라는 순서와 함께 사례번호인 21, 24가 출력된다.
한편 그 밑에 있는 명령문은 출력된 그래픽창의 그림을 저장하는 내용을 담고 있다.
dev.print(png, filename="/home/jhshin/사진/Rcmdr/Graphs/indexplot/RGraph_indexplot1.png",
width=13, height=8, pointsize=12, units="in", res=300)
Graphs > Save graph to file 메뉴에서 <bitmap(으)로...> 기능을 선택하면 아래와 같은 선택창이 등장한다. 해상도를 300으로 최대한으로 올려보자. 예(OK) 버튼을 누른다.
그래픽 파일을 저장할 위치를 결정하고, 결정한 파일 이름을 입력하고 저장하기(save)를 누른다. 실용적으로 RGraph_indexplot1.png라고 저장해보자.
?indexplot # RcmdrMisc 패키지의 indexplot 도움말 보기
if (require("car")){
with(Prestige, indexplot(income, id.n=2, labels=rownames(Prestige)))
indexplot(Prestige[, c("income", "education", "prestige")],
groups = Prestige$type, id.n=2)
}
활성화된 데이터셋이 없는 경우, 그래프 메뉴창의 대부분 기능은 비활성화되어 있다.
어느 데이터셋이 활성화되면, 포함된 변수군의 특징에 따라 그래프 메뉴창에서 사용할 수 있는 기능들이 활성화된다. 어느 그래프 기능을 사용할 것인가라는 문제의식은 변수들의 특징에 대한 이해에서 출발해야 한다.
요인형 변수만 있는 데이터셋은 그래프 메뉴에서 제한된 기능만을 사용할 수 있다. 막대그래프, 원그래프 기능이 활성화된다.
수치형 변수(integer, numeric)만 있는 데이데셋은 아래의 그래프 기능을 사용할 수 있다.
활성데이터셋에 제한된 범위의 정수(integer, int)형 변수가 포함되어 있다면 <이산형 수치 변수 그리기...>가 활성화된다.
아래 화면에서 <산점도> <산점도 행렬...> 메뉴 기능을 찾아 보라. 활성 데이터셋에 수치형 변수가 3개 미만 포함되어 있다면 <산점도 행렬>이 비활성화되어 있을 것이다.
datasets::airquality()
R이 시작될 때, datasets 패키지가 자동으로 호출된다. 따라서 R Commander를 실행할 때, datasets 패키지는 첨부 패키지화되어 메뉴창을 통해서 내부 데이터셋을 찾고 불러올 수 있다.
메뉴창에서 순서대로 데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기... 를 선택하면 다음과 같은 창이 등장한다.
출력창을 보면, airquality라는 데이터셋에는 6개의 변수가 있고, 각 변수는 수치형 정보를 담고 있다.
Month 변수는 최소 5에서 최대 9로 값이 있는데, 정확히는 5월부터 9월까지일 것이다. 한달 한달을 뜻하는 월(month)은 5월이 9월보다 크다고 할 수 없고, 5월, 6월, 7월, 8월, 9월 등으로 개체화되어 분리된다. 다시 말하면, 요인형 변수가 되어야 한다는 뜻이다.
그럼 왜, airqualty 데이터셋의 Month 변수는 수치형으로 되어 있을까. 원자료를 R의 데이터셋으로 불러오는 과정에서 해당 변수의 요인화과정이 생략되었을 것이다.
airquality {datasets} | R Documentation |
Daily air quality measurements in New York, May to September 1973.
airquality
A data frame with 153 observations on 6 variables.
[,1] | Ozone | numeric | Ozone (ppb) |
[,2] | Solar.R | numeric | Solar R (lang) |
[,3] | Wind | numeric | Wind (mph) |
[,4] | Temp | numeric | Temperature (degrees F) |
[,5] | Month | numeric | Month (1--12) |
[,6] | Day | numeric | Day of month (1--31) |
Daily readings of the following air quality values for May 1, 1973 (a Tuesday) to September 30, 1973.
The data were obtained from the New York State Department of Conservation (ozone data) and the National Weather Service (meteorological data).
Chambers, J. M., Cleveland, W. S., Kleiner, B. and Tukey, P. A. (1983) Graphical Methods for Data Analysis. Belmont, CA: Wadsworth.
require(graphics)
pairs(airquality, panel = panel.smooth, main = "airquality data")
airquality 데이터셋 예제 (0) | 2022.06.24 |
---|
Prestige 데이터셋 (0) | 2022.03.08 |
---|
carData > OBrienKaiserLong
OBrienKaiserLong 데이터셋은 carData 패키지에 포함되어 있다. carData 패키지는 Rcmdr 패키지가 호출될 때 자동으로 함께 호출되기 때문에, OBrienKaiserLong 데이터셋을 R Commander에서 메뉴기능을 통해서 활성데이터셋으로 불러올 수 있다.
통계> 요약 > 활성 데이터셋 메뉴를 통하여 OBrienKaiserLong 데이터셋의 요약정보를 확인할 수 있다.
summary() 함수를 이용한 것을 알 수 있다.
str() 함수를 활용하여 입력창에 직접 str(OBrienKaiserLong)을 입력하고 실행하여, 출력창에 다음과 같이 OBrienKaiserLong 데이터셋의 구조적 정보도 확인할 수 있다.
R Commander 화면에서 <데이터셋 보기> 버튼을 누르면 다음과 같은 내부 구성을 볼 수 있다:
OBrienKaiserLong {carData} | R Documentation |
Contrived repeated-measures data from O'Brien and Kaiser (1985). For details see OBrienKaiser, which is for the "wide" form of the same data.
OBrienKaiserLong
A data frame with 240 observations on the following 6 variables.
treatment
a between-subjects factor with levels control, A, B.
gender
a between-subjects factor with levels F, M.
score
the numeric response variable.
id
the subject id number.
phase
a within-subjects factor with levels pre, post, fup.
hour
a within-subjects factor with levels 1, 2, 3, 4, 5.
O'Brien, R. G., and Kaiser, M. K. (1985) MANOVA method for analyzing repeated measures designs: An extensive primer. Psychological Bulletin 97, 316–333, Table 7.
head(OBrienKaiserLong, 15) # first subject
OBrienKaiserLong 데이터셋 예제 (0) | 2022.06.24 |
---|
carData 패키지에 있는 OBrienKaiser 데이터셋이다. carData 패키지는 Rcmdr 패키지가 호출될 때 자동으로 함께 호출되기 때문에 R Commander에서 carData 패키지에 포함된 데이터셋들을 자유롭게 호출할 수 있다.
OBrienKaiser 데이터셋은 R Commander에서 활성 데이터셋으로 이용할 수 있다. 그러나 '통계 > 요약 > 활성데이터셋' 기능은 사용할 수 없다. 다음과 같은 오류문을 Rgui 창에서 보게된다.
Error in sprintf(gettextRcmdr("There are %d variables in the data set %s.\nDo you want to proceed?"), :
'%d'는 유효하지 않은 포맷입니다; 문자형 객체들에는 포맷 %s를 사용해주세요
입력창에 str(OBrienKaiser) 함수를 입력하고 실행하여 OBrienKaiser 데이터셋의 구조를 살펴보자.
입력창에 summary(OBrienKaiser) 함수를 입력하고 실행하여 요약 정보를 살펴보자.
OBrienKaiser {carData} | R Documentation |
These contrived repeated-measures data are taken from O'Brien and Kaiser (1985). The data are from an imaginary study in which 16 female and male subjects, who are divided into three treatments, are measured at a pretest, postest, and a follow-up session; during each session, they are measured at five occasions at intervals of one hour. The design, therefore, has two between-subject and two within-subject factors.
The contrasts for the treatment factor are set to -2, 1, 1 and 0, -1, 1. The contrasts for the gender factor are set to contr.sum.
OBrienKaiser
A data frame with 16 observations on the following 17 variables.
treatment
a factor with levels control A B
gender
a factor with levels F M
pre.1
pretest, hour 1
pre.2
pretest, hour 2
pre.3
pretest, hour 3
pre.4
pretest, hour 4
pre.5
pretest, hour 5
post.1
posttest, hour 1
post.2
posttest, hour 2
post.3
posttest, hour 3
post.4
posttest, hour 4
post.5
posttest, hour 5
fup.1
follow-up, hour 1
fup.2
follow-up, hour 2
fup.3
follow-up, hour 3
fup.4
follow-up, hour 4
fup.5
follow-up, hour 5
O'Brien, R. G., and Kaiser, M. K. (1985) MANOVA method for analyzing repeated measures designs: An extensive primer. Psychological Bulletin 97, 316–333, Table 7.
OBrienKaiser
contrasts(OBrienKaiser$treatment)
contrasts(OBrienKaiser$gender)
OBrienKaiser 데이터셋 예제 (0) | 2022.06.24 |
---|
그래프 > 색 팔레트...
Graphs > Color palette...
<색 팔레트...> 기능을 선택하면 8개의 주요 색깔이 등장하고 그 색의 16진수(hexadecimal)값과 이름이 표시된다.
다섯째 색인 cyan, 일곱째 색인 yellow를 각각 gold, orange로 바꿔보자.
gold의 16진수 값인 #fad800, orange의 16진수 값인 #ffa500을 기억하자. cyan의 16진수 값인 #00ffff, yellow의 16진수 값인 #ffff00을 기억하자. gold를 cyan으로, orange를 yellow로 다시 바꿔보자. Selection: #fad800을 cyan의 #00ffff로 바꾸고 실행(엔터키)을 한다.
yellow로 바꾸려면, 16진수 값 #ffff00을 입력하고 실행(엔터키)을 한다. 다음과 같이 바뀔 것이다:
?palette # grDevices 패키지의 palette 도움말 보기
require(graphics)
palette() # obtain the current palette
palette("R3");palette() # old default palette
palette("ggplot2") # ggplot2-style palette
palette()
palette(hcl.colors(8, "viridis"))
(palette(gray(seq(0,.9,len = 25)))) # gray scales; print old palette
matplot(outer(1:100, 1:30), type = "l", lty = 1,lwd = 2, col = 1:30,
main = "Gray Scales Palette",
sub = "palette(gray(seq(0, .9, len=25)))")
palette("default") # reset back to the default
## on a device where alpha transparency is supported,
## use 'alpha = 0.3' transparency with the default palette :
mycols <- adjustcolor(palette(), alpha.f = 0.3)
opal <- palette(mycols)
x <- rnorm(1000); xy <- cbind(x, 3*x + rnorm(1000))
plot (xy, lwd = 2,
main = "Alpha-Transparency Palette\n alpha = 0.3")
xy[,1] <- -xy[,1]
points(xy, col = 8, pch = 16, cex = 1.5)
palette("default")
## List available built-in palettes
palette.pals()
## Demonstrate the colors 1:8 in different palettes using a custom matplot()
sinplot <- function(main=NULL) {
x <- outer(
seq(-pi, pi, length.out = 50),
seq(0, pi, length.out = 8),
function(x, y) sin(x - y)
)
matplot(x, type = "l", lwd = 4, lty = 1, col = 1:8, ylab = "", main=main)
}
sinplot("default palette")
palette("R3"); sinplot("R3")
palette("Okabe-Ito"); sinplot("Okabe-Ito")
palette("Tableau") ; sinplot("Tableau")
palette("default") # reset
## color swatches for palette.colors()
palette.swatch <- function(palette = palette.pals(), n = 8, nrow = 8,
border = "black", cex = 1, ...)
{
cols <- sapply(palette, palette.colors, n = n, recycle = TRUE)
ncol <- ncol(cols)
nswatch <- min(ncol, nrow)
op <- par(mar = rep(0.1, 4),
mfrow = c(1, min(5, ceiling(ncol/nrow))),
cex = cex, ...)
on.exit(par(op))
while (length(palette)) {
subset <- seq_len(min(nrow, ncol(cols)))
plot.new()
plot.window(c(0, n), c(0.25, nrow + 0.25))
y <- rev(subset)
text(0, y + 0.1, palette[subset], adj = c(0, 0))
y <- rep(y, each = n)
rect(rep(0:(n-1), n), y, rep(1:n, n), y - 0.5,
col = cols[, subset], border = border)
palette <- palette[-subset]
cols <- cols [, -subset, drop = FALSE]
}
}
palette.swatch()
palette.swatch(n = 26) # show full "Alphabet"; recycle most others
활성 데이터셋
Active data set
R Commander의 메뉴 기반 사용법의 큰 특징은 활성 데이터셋에 관한 것이 될 것이다. 입력 창에 명령문을 입력하는 일반적인 방법과 달리 메뉴 기반 R Commander는 활성화된 데이터셋 하나만을 다룬다. (물론 데이터셋 병합하기는 두개 이상의 데이터셋을 필요로 한다)
아래 화면에 왼쪽에 R 아이콘이 있고, 그 옆에 '데이터셋: Prestige'이 보일 것이다. Prestige 라는 데이터셋이 활성화되어서 R Commander에서 사용할 준비가 되었다는 의미가 된다:
15. Convert all character variables to factors (0) | 2022.02.10 |
---|---|
14. Reshape data set from wide to long format... (0) | 2022.02.10 |
13. Reshape data set from long to wide format... (0) | 2022.02.10 |
17. Export active data set... (0) | 2019.09.08 |
16. Save active data set... (0) | 2019.09.08 |