2011-02-15 3 views
0

と私は(B1とB2のレベルとレベルA1とA2とのファクターA、および因子B)応答変数(私たちは「Y」と呼ぶことにします)と2つの要因があるとRの質問です。 2つの要因の異なる組み合わせに対する応答をプロットする。うまくいけば、ラティスパッケージから「ヒストグラム」

格子パッケージの 'histogram'関数を使って(A2とB2)の応答に対する(A1とB1)の応答をプロットすることはできますか?

私は

ヒストグラムを知っている(〜Y | FactorA * FactorB)

はすべて4つの組み合わせをプロットします。しかし、私はそれらの2つだけが必要な場合はどうなりますか?

すべてのヘルプについては、このサイトの皆様に感謝したいと思います!

答えて

2

1つの方法は、4つの組み合わせで新しい変数を作成し、subsetコマンドを使用することです。

FactorAB <- factor(paste(FactorA, FactorB, sep="")) 
histogram(~y|FactorAB, subset=FactorAB %in% c("A1B1", "A2B2")) 
+0

awesome!ありがとうございました。 「ペースト」と「サブセット」の機能は非常に便利です! – Michael

0

これを行う簡単な方法があるはずですが、ここではあなたが望むものの近くできれいになるはずです。

# sample data 
dat <- data.frame(Y=rpois(100,20),A=factor(c(rep("A1",50),rep("A2",50))),B=factor(c(rep("B1",50),rep("B2",50)))) 
dat$B <- sample(dat$B) 

# create blank (colourless) histogram 
p <- histogram(~Y|A*B,dat,col=0,border=0) 
# subset and print blank panels 
p[1,] 
# draw data from desired panels onto blank "template" 
trellis.focus("panel",1,1) 
do.call("panel.histogram",trellis.panelArgs(p,1)[1:5]) 
trellis.focus("panel",1,2) 
do.call("panel.histogram",trellis.panelArgs(p,4)[1:5]) 
trellis.unfocus() 

残っているのは、上のプロットの下のストリップを変更することです。 trellis.focus("strip",1,2)を呼び出すと、それに焦点が当てられ、適切な他の呼び出しがそれを変更できるはずですが、それが何であるかはわかりません。しかし、それは誇張かもしれない。

関連する問題