R中的行采样

时间:2014-04-04 12:33:34

标签: r

我使用示例数据来提问。

seed(1) 
X <- data.frame(matrix(rnorm(200), nrow=20))

我想每次选择10个随机行而不进行替换,并进行多元回归。我试过了

hi=X[sample(1:20,10),]
MR1<-lm(X10~., data=hi)
R1<-summary(MR1)$r.squared #extract the R squared

是否可以创建25个这样的数据集,每次采样10行。最后,我想存储采样数据集并进行多元回归,并从25个这样的模型中提取r平方值。

1 个答案:

答案 0 :(得分:2)

您可以使用lapply

set.seed(1) 
X <- data.frame(matrix(rnorm(200), nrow=20))

n <- 25
res <- lapply(1:n, 
              function(i) {
                samples <- sample(1:20,10)
                hi=X[samples,]
                MR1<-lm(X10~., data=X)
                R1<-summary(MR1)$r.squared
                return(list(Samples=samples,Hi=hi,MR1=MR1,R1=R1))
              })