2013-10-20 1 views
2

qqmath, latticedensityplot()panel.mathdensitypanel.densityplot과 같은 여러 패널 기능을 포함하여 여러 가지 방법을 시도했습니다. 그러나, 나는 그들이 내가 원하는 것을 할 수 없었다.R을 사용하여 한 패널에서 베이지안 사전 및 사후 분포를 플로팅하는 법?

이 주제에 대한 인터넷 검색은 R의 기본 플롯에 중점을 두거나 하나의 패널에 두 분포를 그려서는 안되는 결과를 생성합니다. 그러나 R 기본 그래픽을 사용할 수는 있지만 여러 분배 쌍과 각 쌍마다 하나의 패널을 플롯해야합니다.

"RGraphics"및 "Lattice : R을 이용한 다 변수 데이터 시각화"라는 책은이 영역에서도 저를 계몽 할 수 없었습니다. 내가 더 많은 경험 lattice를 사용하여이 있지만,

data <- dgamma(seq(from=0.00001,to=0.01,by=0.00001),shape = .1, scale = .01) 

나도 lattice 또는 ggplot 패키지 열려있어 :

데이터는 일반적으로 다음과 같이 보입니다.

여기에서 나를 도와 줄 정보가 더 필요하면 알려주십시오.

+0

par (mfrow)를 기본 그래픽으로 사용 하시겠습니까? –

답변

3

하나의 데이터 객체 만 제공했지만 두 개를 생성하라는 요청을하므로 다른 매개 변수로 같은 분포의 두 항목을 시도해 보겠습니다. 격자 또는 ggplot2로 작업 할 때는 일반적으로 데이터의 "긴"형식 인 적절한 배열의 데이터 프레임을 구성해야합니다. "group"매개 변수는 같은 패널에서 다른 색상으로 플로팅을 지정합니다.

require(lattice) 
?lattice # essential reading 
dfrm <- data.frame(dgam = data, param="s.1.01") 
dfrm <- rbind(dfrm, data.frame(dgam = 
           dgamma(seq(from=0.00001,to=0.01,by=0.00001), 
           shape = .2, scale = .01), 
           param="s.2.01")) 
dfrm <- cbind(dfrm, X.val=seq(from=0.00001,to=0.01,by=0.00001)) 
str(dfrm) 
#'data.frame': 2000 obs. of 3 variables: 
# $ dgam : num 5263 2817 1954 1507 1231 ... 
# $ param: Factor w/ 2 levels "s.1.01","s.2.01": 1 1 1 1 1 1 1 1 1 1 ... 
# $ X.val: num 1e-05 2e-05 3e-05 4e-05 5e-05 6e-05 7e-05 8e-05 9e-05 1e-04 ... 
xyplot(dgam ~ X.val , 
     group=param, 
     data=dfrm, type="l") 
+0

나는 분명히 내 질문에 명확하게하지 않았지만 나는 densityplot을 원했다. 그러나 'densityplot (~ dgam, group = param, data = dfrm)'에 의해 'xyplot (...) '을 교환하면이 접근법은 densityplots에서 완벽하게 작동합니다. –

관련 문제