2014-06-10 2 views
0

다음 네 번의 호출은 정확히 동일한 그래프 인 것처럼 보이는 결과를 반환합니다. 패널 밀도 플롯을 어떻게 제어 할 수 있습니까? 고맙습니다.lattice : 히스토그램의 매개 변수가있는 오버레이 밀도 플롯

library(lattice) 
df <- data.frame(y = runif(100) , p = rep(c('a','b'),50)) 

histogram(~ y | p , data = df , 
     type = "density", 
     panel=function(x, ...) { 
     panel.histogram(x, ...) 
     panel.densityplot(x, ...) 
     }) 


histogram(~ y | p , data = df , 
     type = "density", 
     panel=function(x, ...) { 
     panel.histogram(x, ...) 
     panel.densityplot(x, bw=100,kernel="gaussian",...) 
     }) 

histogram(~ y | p , data = df , 
     type = "density", 
     panel=function(x, ...) { 
     panel.histogram(x, ...) 
     panel.densityplot(x, dargs=list(bw=100,kernel="gaussian"),...) 
     }) 

histogram(~ y | p , data = df , 
     type = "density", bw=100,kernel="gaussian" , 
     panel=function(x, ...) { 
     panel.histogram(x, ...) 
     panel.densityplot(x, ...) 
     }) 
+0

귀하의 세 번째 코드 블록이 거의 맞다, 그러나 당신은 제작 : 여기

?panel.densityplot에 설명 된대로 darg가 실제로 않는 것을 보여주기 위해 예입니다 당신이 평활 매개 변수를 제어 할 수 'darg'을 쓸 필요가있을 때'dargs '를 쓰는 실수. –

+0

Re. 당신의 첫번째 코멘트 : 이것은'df <- data.frame (y = runif (100), p = rep (c ('a', b '), 50))''작동 할 것입니다. 레. 두 번째 주석, 그래프는 같은,'dargs' 또는'darg'하지만, 그것을 지적 해 주셔서 감사합니다. – user2105469

+0

자세히 살펴보십시오. 'bw = 100'을 설정하면 밀도가 너무 매끄럽게되어 모든 곳에서 0에 가까워집니다. 당신이 나에게 준 샘플 데이터로'bw = 1'을 설정하면 차이점을 알 수 있습니다. –

답변

3

위에서 언급 한 것처럼 histogram()에 대한 세 번째 전화는 매우 근접했습니다. dargs 대신 darg을 작성해야했습니다.

library(gridExtra) ## For grid.arrange() 
library(lattice) 
df <- data.frame(y = runif(100) , p = rep(c('a','b'),50)) 

p1 <- histogram(~ y | p , data = df , 
      type = "density", 
      panel=function(x, ...) { 
      panel.histogram(x, ...) 
      panel.densityplot(x, darg=list(bw = 1, kernel="gaussian"),...) 
     }) 

p2 <- histogram(~ y | p , data = df , 
      type = "density", 
      panel=function(x, ...) { 
       panel.histogram(x, ...) 
       panel.densityplot(x, darg=list(bw = 0.2, kernel="gaussian"),...) 
     }) 

grid.arrange(p1,p2) 

enter image description here

+0

감사합니다. 많이 감사합니다. – user2105469

관련 문제