R에서 ggplot2를 사용하는 두 가지 요소에 대한 상자 그림


13

나는 R과 R의 모든 패키지에 매우 익숙하다. ggplot2 문서를 보았지만 이것을 찾을 수 없었다. boxthis두 가지 요인 f1과 관련하여 변수의 상자 그림을 원합니다 f2. 즉, 모두를 가정이다 f1f2요인 변수이며, 이들 각각은 두 개의 값을 취하고 boxthis연속 변수이다. 나는 각각의 가능한 조합에서 하나 개의 조합에 해당 그래프에 4 개 상자 그림을 싶어 f1하고 f2걸릴 수 있습니다. R의 기본 기능을 사용한다고 생각합니다.

> boxplot(boxthis ~ f1 * f2 , data = datasetname) 

도움을 주셔서 감사합니다.


정확한 답변을 얻으려면 샘플 데이터를 제공하십시오.
mpiktas

2
이 질문은 통계가 거의 없기 때문에 stackoverflow.com에 거의 더 적합합니다.
richiemorrisroe

답변:


23

이것을 달성하는 두 가지 방법을 생각할 수 있습니다.

1.-함수의 외부 f1f2외부의 모든 조합을 만듭니다.ggplot

library(ggplot2)

df <- data.frame(f1=factor(rbinom(100, 1, 0.45), label=c("m","w")), 
                 f2=factor(rbinom(100, 1, 0.45), label=c("young","old")),
                 boxthis=rnorm(100))

df$f1f2 <- interaction(df$f1, df$f2)

ggplot(aes(y = boxthis, x = f1f2), data = df) + geom_boxplot()

여기에 이미지 설명을 입력하십시오

2. 색상 / 채우기 등을 사용하십시오.

ggplot(aes(y = boxthis, x = f2, fill = f1), data = df) + geom_boxplot()

여기에 이미지 설명을 입력하십시오


4
(+1)의 사용을 좋아합니다 interaction(). geom_boxplot(position = position_dodge(width = .9))상자 그림 사이에 공간을 추가하도록 지정할 수 있습니다.
chl

1
함수 dodge에서 인수를 사용할 수도 있습니다. ggplotggplot(aes(y = boxthis, x = f2, fill = f1, dodge=f1), data = df) + geom_boxplot()
Maciej

0

다른 방법이 있습니다.

ggplot(datasetname) + boxplot(aes(x=as.factor(f1),y=boxthis)) + facet_wrap(~as.factor(f2), nrow=5)

다음과 같은 것을 제공합니다.

패싯 상자 그림

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.