用于模拟的向量

Vectors for simulations

我目前的代码写在下面。这是模拟,所以没有实际数据。我有两个问题:

  1. 我有两个向量(treat 和 cont),但我需要将它们放入我所做的一个向量中(vect),但是,我需要另一个向量来编码治疗与控制。我该怎么做?
  2. 对于我的模型(模型),我需要拟合一个线性模型来测试治疗效果,但我不知道如何将该效果添加到我拥有的东西中,或者它是在我拥有的代码中测试的东西?
    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)
    }

谢谢!

第一位创建字符串,第二位将它们组合起来。在您的示例中,它们的长度均为 3,因此 rep("trt",3)

中的 3 次重复
treat_lab = c(rep("control", 3),rep("trt", 3))
treatment <- cbind(treat_lab,c(treat,cont))

是这样的吗? (请注意,对于 运行 针对连续数据的泊松回归,您会收到一堆警告。

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])
  })
)