2014-04-04 2 views
3

예제 데이터를 사용하여 질문합니다.행 샘플링 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 

매번 10 개의 행을 샘플링하는 25 개의 데이터 세트를 만들 수 있습니까? 마지막으로 샘플 데이터 세트를 저장하고 다중 회귀를 수행하여 25 가지 모델에서 r 제곱 값을 잘 추출하고 싶습니다.

답변

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)) 
       }) 
+0

다른 작은 기술적 인 질문을. r 제곱 대신에 요약에서 조정 R 제곱을 추출하는 방법은 무엇입니까? 나는 여러 가지 것을 시도했다. – Paul

+0

'summary (MR1) $ adj.r.squared';) 사용 – digEmAll

+1

P. summary()에 의해 반환 된 객체의 모든 속성을 쉽게 보려면'str (unclass (summary (MR1)))'을 사용하십시오. – digEmAll