【发布时间】:2018-10-19 03:10:37
【问题描述】:
假设我的数据看起来像这样(这只是说明我的问题的数据):
set.seed(1234)
x=runif(12, 22,28);x
y=runif(12,88,120);y
y1=y[1:4];y1
y2=y[5:8];y2
y3=y[9:12];y3
x1=x[1:4];x1
x2=x[5:8];x2
x3=x[9:12];x3
dat= cbind(y1,x1,y2,x2,y3,x3);dat
y1 x1 y2 x2 y3 x3
[1,] 118.72718 27.79948 100.56455 23.59740 95.37221 25.51741
[2,] 90.46189 26.12509 94.38618 27.96536 103.42347 24.44862
[3,] 92.48808 25.67335 108.15713 24.08918 108.85686 26.52390
[4,] 103.06760 25.84996 108.88237 26.37924 103.26130 22.05003
假设 (y1,x1) 代表治疗 1,(y2,x2) 代表治疗 2,(y3,x3) 代表治疗 3。我的目标是估计截距和斜率(使用增量设计)。然后,确定假设矩阵(所有斜率相同的原假设)。
我在想我可以使用指标。就像 x1 = 1 如果治疗,否则 0。如果处理 2,则 x2 = 1,否则为 0。这里另有指第三种处理方式。
这是我想出的:
X< as.matrix(cbind(rep(1,12),c(rep(1,4),rep(0,8)),c(rep(0,4),rep(1,4),rep(0,4))))
无论如何,我不知道从这里去哪里。我想知道是否有人会给我一些东西让我开始。拜托,所有符号都应该是矩阵形式。谢谢!
编辑:我试图用矩阵表示法来做,这是我到目前为止得到的,虽然我有一些系数作为 NA:
set.seed(1234)
x=runif(12, 22,28);x
y=runif(12,88,120);y
y1=y[1:4];y1
y2=y[5:8];y2
y3=y[9:12];y3
x1=x[1:4];x1
x2=x[5:8];x2
x3=x[9:12];x3
dat= cbind(y1,x1,y2,x2,y3,x3);dat
X1<- cbind( dat[,2],rep(0,4),rep(0,4), dat[,2],rep(1,4),rep(1,4));X1
X2 <- cbind(dat[,4],rep(1,4),dat[,4], rep(0,4),rep(1,4),rep(1,4));X2
X3 <- cbind(dat[,6],rep(1,4),dat[,6], rep(0,4),rep(0,4),rep(0,4));X3
X <- rbind(X1,X2,X3)
model <- lm(formula = y ~ X);summary(model)
【问题讨论】:
标签: r regression anova dummy-variable