4

我的问题是用格子框架剥离我的面板。

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)
              }
 )

我正在寻找的是: 条纹图

4

1 回答 1

1

当它们已经是因子时,您不需要在公式的条件部分中的项目周围添加因子调用。如果您想在两个因素之间进行交叉,则该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 中搜索过帖子,但唯一完美的问题得到了一个未经测试的建议,当我尝试它时,它惨遭失败。

于 2012-09-30T19:19:06.523 回答