R 如何将lm函数应用于数据子集
我已经使用下面数据框的子集提取了数据R 如何将lm函数应用于数据子集,r,R,我已经使用下面数据框的子集提取了数据 ns <- 20 ans <- matrix(rep(0,200),nrow=100) for(k in 1:100) { x1=rnorm(ns,0,1) x2=rnorm(ns,5,5) x3=rnorm(ns,10,5) U=c(x1,x2,x3) simdata=data.frame(CD=U, Time=factor(rep(c(1,2,3),each=ns)),
ns <- 20
ans <- matrix(rep(0,200),nrow=100)
for(k in 1:100)
{
x1=rnorm(ns,0,1)
x2=rnorm(ns,5,5)
x3=rnorm(ns,10,5)
U=c(x1,x2,x3)
simdata=data.frame(CD=U,
Time=factor(rep(c(1,2,3),each=ns)),
treatment=sample(rep(c('Trt','placebo'),ns/2)))
ans[k,]=table(simdata$treatment)
}
#simdata
Y=subset(simdata,Time==1,select=c(CD))
X=c(rep(0,10),rep(1,10))
lm(Y~X) #but its not working.
nsY在这里不是向量:
ns <- 20
ans <- matrix(rep(0,200),nrow=100)
for(k in 1:100)
{
x1=rnorm(ns,0,1)
x2=rnorm(ns,5,5)
x3=rnorm(ns,10,5)
U=c(x1,x2,x3)
simdata=data.frame(CD=U,
Time=factor(rep(c(1,2,3),each=ns)),
treatment=sample(rep(c('Trt','placebo'),ns/2)))
ans[k,]=table(simdata$treatment)
}
#simdata
Y=subset(simdata,Time==1,select=c(CD))
X=c(rep(0,10),rep(1,10))
Y1=t(Y)
Y1=Y1[,1]
lm(Y1~X)
ns您的Y
对象是数据帧,而不是向量。尝试Y$CD
而不是Y
@Thomas,它仍然不起作用。如果你这样做lm(Y$CD~X)
它会起到防御作用。您需要在#