2011-02-15 2 views
0
I는 반응 변수가 있다고 가정

R 질문. 2 가지 요인의 별개의 조합에 대한 응답을 그려보십시오. 다행히 래티스 패키지 '히스토그램'로

(B1 레벨 B2과 레벨 A1 및 A2, 및 계수 B와 계수 A) 2 개 요소 (우리가 'Y'를 호출 할 것이다) 격자 패키지의 '히스토그램'함수를 사용하여 (A2 및 B2)에 대한 응답에 대한 (A1 및 B1)에 대한 응답을 그릴 수 있습니까?

4 개 조합을 그릴 것입니다 |

나는

히스토그램 (FactorA * FactorB가 ~ y)를 알고있다. 하지만 그 둘만 원하면 어떻게 될까요?

모든 도움을 받으려면이 사이트의 모든 사람들에게 감사하고 싶습니다!

답변

2

한 가지 방법은 네 가지 조합으로 새 변수를 만들고 subset 명령을 사용하는 것입니다.

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

awesome! 고맙습니다. 'paste'와 'subset'함수는 매우 유용합니다! – 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)을 호출하면 포커스가 설정되고 다른 적절한 호출이이를 바꿀 수 있어야하지만 그게 무엇인지 찾을 수 없습니다. 그러나 그것은 overplot 수 있습니다.