使用for循环随机化变量并多次运行线性模型

时间:2017-11-10 21:23:19

标签: r loops linear-regression

我是R的新手,我有一个任务,但我不知道如何去做。

我已经创建了一个散点图,我需要随机化一个变量,并在我的一个散点图上绘制一个线性回归线(其中1000个)之前,使用另一个(未更改的)变量运行此随机变量的线性模型,使用循环。 这就是我所在的地方:

asample <-numeric(1000)  
for (i in 1:1000) {
Randomised_sample <- sample(MYdata$Variable1)
Linearmodel <- lm(Randomised_sample~(MYdata$Variable2)
summary(Linearmodel)
asample[i] <- coefficients(Linearmodel)
}

你可能已经看到了,我不知道我在做什么。非常感谢任何帮助,我一直在寻找几个小时。我知道我需要斜坡等斜坡,但我不知道在哪里/如何进行上述工作。

1 个答案:

答案 0 :(得分:0)

我认为这就是你要找的东西?但我必须承认,我仍然有点困惑你到底想要做什么。

set.seed(12345)
x1<-rnorm(n=1000, mean=1, sd=1) #simulating data
y <-rnorm(n=1000, mean=2, sd=2) #simulating data
mydata<-as.data.frame(cbind(y, x)) #combining data into data frame


coefs<-matrix(nrow=1000, ncol=2) #coefficient matrix to hold betas

for(i in 1:1000){ #for loop

samp<-sample(1:1000, 10) #collecting a sample of size 10 without replacement

fit<-lm(y~x, data=mydata, subset=samp)#finding the fit for the 10 sampled observatoins

coefs[i,1]<-as.numeric(fit$coefficients[1]) #saving beta0
coefs[i,2]<-as.numeric(fit$coefficients[2]) #saving beta1

}

这有帮助吗?