R вопрос.Построение ответа для различных комбинаций из 2 факторов.Надеюсь, с «гистограммой» из пакета решетки - PullRequest
0 голосов
/ 15 февраля 2011

Предположим, у меня есть переменная ответа (мы будем называть 'Y') и 2 фактора (фактор A с уровнями A1 и A2 и фактор B с уровнями B1 и B2)

Могу ли я использовать 'функция гистограммы в пакете решетки, чтобы построить ответ для (A1 и B1) против ответа для (A2 и B2)?

Я знаю

гистограмма (~ y | FactorA* FactorB)

построит все 4 комбинации.Но что, если я хочу только этих двоих?

Просто хочу поблагодарить всех на этом сайте за помощь!

Ответы [ 2 ]

2 голосов
/ 15 февраля 2011

Один из способов - создать новую переменную с четырьмя комбинациями и использовать команду subset.

FactorAB <- factor(paste(FactorA, FactorB, sep=""))
histogram(~y|FactorAB, subset=FactorAB %in% c("A1B1", "A2B2"))
0 голосов
/ 15 февраля 2011

Должен быть более простой способ сделать это, но вот хак, который должен приблизить вас к тому, что вы хотите.

# 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) поставит его в фокус, и какой-нибудь подходящий другой вызов сможет изменить его, но я не могу найти, что это будет.Однако это может привести к переполнению.

...