2012-09-30 3 views
3

제 문제는 격자 프레임 워크로 패널을 벗기는 것입니다. 내가 무엇을 찾고스트립 패널 격자

testData<-data.frame(star=rnorm(1200),frame=factor(rep(1:12,each=100)) 
        ,n=factor(rep(rep(c(4,10,50),each=100),4)) 
        ,var=factor(rep(c("h","i","h","i"),each=300)) 
        ,stat=factor(rep(c("c","r"),each=600)) 
) 
levels(testData$frame)<-c(1,7,4,10,2,8,5,11,3,9,6,12)# order of my frames 
histogram(~star|factor(frame), data=testData 
      ,as.table=T 
      ,layout=c(4,3),type="density",breaks=20 
      ,panel=function(x,params,...){ 
       panel.grid() 
       panel.histogram(x,...,col=1)  
       panel.curve(dnorm(x,0,1), type="l",col=2) 
       } 
) 

은 다음과 같습니다 striped plot

+0

R 외부에 레이블을 추가 할 수 있지만 먼저 해당 패널의 배치가 해당 레이블링과 일치하는지 확인해야합니다. 나는 "var"와 "stat"를 붙여서 생성 된 스트립 라벨을 가진 그래프를 만들었고 그 그래픽의 오른쪽과 왼쪽 반쪽에 "h"와 "i"의 혼합이있었습니다. –

+0

이 표현식을 'star'값'+ rep (c (-2,2), each = 600)'에 추가하고 플롯을 다시 그려 보면이 효과를 직접 볼 수 있습니다. 배치 이론이 맞다면 왼쪽의 모든 플롯을 0의 동일한면으로 옮겨야합니다. 그렇지 않습니다. –

+0

sry 나는 너를 정말로 얻지 못한다. 스트립 속성을 알고 있지만 올바른 방법으로 변경하는 방법을 모른다. 무엇이 정말로 Iam이 찾고있는 것과 비슷합니까? – Klaus

답변

0

당신은 이미 요인이있을 때 식의 조절 섹션의 항목 주위의 요소 호출을 추가 할 필요가 없습니다. 두 가지 요소 사이에 십자가를 만들고 싶다면 interaction 기능이 가장 좋습니다. 새로운 줄 문자를 받아들이는 'sep'인수도 있습니다.

h<-histogram(~star|interaction(stat, var, sep="\n") + n, data=testData , 
       as.table=T ,layout=c(4,3), type="density", breaks=20 , 
panel=function(x,params,...){ panel.grid() 
panel.histogram(x,...,col=1) 
panel.curve(dnorm(x,0,1), type="l",col=2) }) 
plot(h) 
useOuterStrips(h,strip.left = strip.custom(horizontal = FALSE), 
        strip.lines=2, strip.left.lines=1) 

내가 오류가 나는 개별적으로 세 가지 요인에 넣고 useOuterStrips을 사용하려고 할 때 : 이것은 내가 생산할 수있는 가장 가까운 것입니다. 세 가지 분리 된 조절 요인을 수용하지 않습니다. 나는 Rhelp의 게시물을 검색했지만, 유일하게 완벽하게 온 - 포인트 질문은 테스트되지 않은 제안을 받았고 시도했을 때 비참하게 실패했습니다.

+0

Thx, 속성을 사용하는 방법, 히스토그램 함수에서 useOuterStrips로 직접 업데이트 하시겠습니까? – Klaus

+0

나는 당신이 무엇을 요구하고 있는지 이해하지 못합니다. 어떤 속성? 어떤 방식으로 사용합니까? –

+0

히스토그램 기능에 strip.left 등을 지정하고 싶습니다. – Klaus