我到目前為止的代碼寫在下面。這是模擬,所以沒有實際資料。我有兩個問題:
- 我有兩個向量(treat 和 cont),但我需要將它們放入我所做的一個向量中(vect),但是,我需要另一個向量來編碼處理與控制。我怎么做?
- 對于我的模型(模型),我需要擬合一個線性模型來測驗治療效果,但我不知道如何將這種效果添加到我擁有的東西中,或者它在我擁有的代碼中測驗的是什么?
library(car)
treat=rnorm(3, mean = 460, sd = 110)
treat
cont=rnorm(3, mean = 415, sd = 110)
cont
vect=c(treat, cont)
vect
nsims = 1000
p.value.saved = coeff.saved = vector()
for (i in 1:nsims) {
treat=rnorm(3, mean = 460, sd = 110)
cont=rnorm(3, mean = 415, sd = 110)
vect=c(treat, cont)
model = glm(treat ~ cont, family = poisson)
p.value.saved[i] = Anova(model)$P[1]
coeff.saved[i] = coef(model)
}
謝謝!
uj5u.com熱心網友回復:
第一個創建字串,第二個位將組合它們。在您的示例中,它們的長度均為 3,因此 rep("trt",3) 中有 3 次重復
treat_lab = c(rep("control", 3),rep("trt", 3))
treatment <- cbind(treat_lab,c(treat,cont))
uj5u.com熱心網友回復:
像這樣的東西?(請注意,對連續資料運行泊松回歸時會收到一堆警告。
n <- 3
nsims <- 10
do.call(
rbind,
lapply(1:nsims, function(.) {
treat <- rnorm(n, mean = 460, sd = 110)
cont <- rnorm(n, mean = 415, sd = 110)
# Instead of vect
df <- data.frame(
y = c(treat, cont),
x = rep(c("treat", "cont"), each = n)
)
# Model the values vs treatment indicator
model <- glm(y ~ x, data = df, family = poisson)
# Extract the model's p-value and coefficient of treatment.
data.frame(p = car::Anova(model)$P, coef = coef(model)[2])
})
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/326974.html
下一篇:在R中為孿生資料重塑資料框
