Конкретные внутригрупповые сравнения для lsmeans - PullRequest
0 голосов
/ 20 октября 2018

Я хотел бы ограничить специальные контрасты, рассчитанные с использованием пакета 'lsmeans' в R.

library(nlme) #for gls
model<-gls(time~ benchmark*gc*opt, method="REML",data=d)

lsmeans.d<-lsmeans(model, ~benchmark:gc:opt)
pairs(lsmeans.d)

Это выводит сравнения всех возможных комбинаций эталонного теста x gc x opt.

У меня вопрос: как я могу указать в функции lsmeans только вычисление и вывод сравнений в каждом из уникальных тестов: gc комбинации?

Я только хочу знать, является ли их разница между "Включение и выключение »лечения в каждой комбинации эталонного теста x gc.Я добавил красные линии, чтобы показать это.

Необработанные данные ниже:

enter image description here

пример из 2

d=expand.grid(obs=0:10, benchmark=c('antlr', 'bloat', 'chart', 'eclipse', 'fop', 'hsqldb', 'jython', 'luindex', 'lusearch', 'pmd', 'xalan'), gc=c('CopyMS', 'GenCopy', 'GenImmix', 'GenMS', 'Immix'), opt=c('on', 'off'), heapSize=seq(from=1.5, to=4, by=0.5))
d$time = rexp(nrow(d), 0.01)+1000
d$time = d$time + abs(d$heapSize-3)*100
d$time[d$opt=='on'] = d$time[d$opt=='on']-200

d$time[d$opt=='on' & d$benchmark=='bloat'] = d$time[d$opt=='on' & d$benchmark=='bloat'] + 190
d$time[d$opt=='on' & d$benchmark=='pmd' & d$gc=='Immix'] = d$time[d$opt=='on' & d$benchmark=='pmd' & d$gc=='Immix'] + 600

ggplot() +
facet_grid(gc~benchmark) +
geom_boxplot(data=d, mapping=aes(x=opt, y=time, color=opt))

1 Ответ

0 голосов
/ 20 октября 2018

Найденный ответ благодаря вдохновению здесь: первый ответ от rvs

Using the FIRST version of your 'fit' model, do lsm = lsmeans(fit, ~A*B|C) and then contrast(lsm, list(c = c(1,0,0,-1)) – rvl Nov 24 '16 at 21:33

Ответ:

lsm = lsmeans(model, ~benchmark*opt|gc)
pairs(lsm)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...