У меня есть данные биномиального счета, исходящие из набора условий, которые чрезмерно перегружены. Для того, чтобы имитировать их я использую бета-биномиальное распределение, реализованный rbetabinom
функции пакета emdbook
R
:Установить контрасты в glm
library(emdbook)
set.seed(1)
df <- data.frame(p = rep(runif(3,0,1)),
n = as.integer(runif(30,100,200)),
theta = rep(runif(3,1,5)),
cond = rep(LETTERS[1:3],10),
stringsAsFactors=F)
df$k <- sapply(1:nrow(df), function(x) rbetabinom(n=1, prob=df$p[x], size=df$n[x],theta = df$theta[x], shape1=1, shape2=1))
Я хочу найти влияние каждого условия (cond
) по пунктам (k
). Я думаю, что glm.nb
модель пакета MASS
R
позволяет моделировать, что:
library(MASS)
fit <- glm.nb(k ~ cond + offset(log(n)), data = df)
Мой вопрос заключается в том, чтобы установить контрасты таким образом, что я получаю эффект каждого условия относительно средних эффектов по всем условиям, а не относительный к состоянию dummy
A
?
Есть ли способ получить std. ошибка cond3? или это просто сумма std. ошибки cond1 и cond2? – dan
Не совсем, вам нужна ковариация. Это будет 'sqrt (var1 + var2-2 * cov (1,2))'; к сожалению, большинство удобных пакетов и методов (предсказывать с std-ошибками, lsmeans, пакетом эффектов) не работают в этом случае ... –
Большое спасибо. Связанный с этим вопрос. В моем эксперименте n - это подсчеты клеток, а k - числа клеток, в которых вирус, который я заразил, что клетки интегрированы в геном (и, следовательно, дает детектируемый сигнал), а условия - разные типы клеток. Предположим, что часть моей дисперсии обусловлена технической изменчивостью (а не биологической изменчивостью) инфекции, для которой у меня есть эмпирические данные управления для каждого типа клеток (опять же, k и n). Как я могу вычесть эту техническую изменчивость из дисперсии в бета-биномиальной модели, которую я приспосабливаю к реальным данным? – dan