我是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)
}
你可能已经看到了,我不知道我在做什么。非常感谢任何帮助,我一直在寻找几个小时。我知道我需要斜坡等斜坡,但我不知道在哪里/如何进行上述工作。
答案 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
}
这有帮助吗?