2014-10-22 2 views
0

저는 51 가지 변수 그룹을 가지고 있는데, 주성분 분석을 적용하고 Kaiser-Guttman 기준에 따라 6 가지 요인을 선택했습니다. I가 두 번 그룹에 설명 변수로서 동적 선형 회귀 모델이 여섯 개 추출 요소를 사용하는 세하고자
prca.searchwords <- prcomp(searchwords.ts, scale=TRUE) summary(prca.searchwords) prca.searchwords$sdev^2회귀 모델의 주요 구성 요소 조합 사용

다음 : I는 다음과 같은 기능이 내 분석 R를 사용했다있어 & 4 개를 선택하고 종속 변수의 대부분의 변이를 설명하는 회귀 모델을 선택하십시오. 여섯 개 변수 내가 회귀에 사용하기 전에 시계열로 변환

prca.searchwords$x[,1] + prca.searchwords$x[,2] + prca.searchwords$x[,3] + prca.searchwords$x[,4] + prca.searchwords$x[,5] + prca.searchwords$x[,6] 있습니다
prca.searchwords.1.ts <- ts(data=prca.searchwords$x[,1], freq=12, start=c(2004, 1)) prca.searchwords.2.ts <- ts(data=prca.searchwords$x[,2], freq=12, start=c(2004, 1))

내가 이것에 대한 R의 dynlm 패키지를 사용하고 있습니다 (I 다른 회귀 때문에 동적 회귀를 사용하기로 결정했습니다 내가 수행하는 것은 독립 변수의 지연된 값을 필요로합니다). 그것과 같을 것이다 처음 두 요인 예를 들어

:
내가 직면하고있어 문제는 내가 하나, 둘, 셋, 넷의 가능한 모든 조합에 대해이 작업을 수행하고자하는 것입니다 private.consumption.searchwords.dynlm <- dynlm(monthly.privateconsumption.ts ~ prca.searchwords.1.ts + prca.searchwords.2.ts) summary(private.consumption.searchwords.dynlm)

내가 선택한 6 가지 요소의 요인. 이것은 1 개의 변수 그룹에 대해 6 개의 회귀 분석을해야한다는 것을 의미합니다. 2 개의 변수에 대해서는 15 개, 3 개의 변수에 대해서는 20 개, 4 개의 변수에 대해서는 15 개가 필요합니다. 51 개의 다른 회귀 변수를 수동으로 입력 할 필요없이 가능한 한 효율적으로이 작업을 수행하고 싶습니다.

나는 비교적 새로운 R 사용자이기 때문에 나는 분석을 급진적으로 가속화 할 수있는 이러한 일반적인 코딩 트릭에 여전히 어려움을 겪고있다. 누군가가 올바른 방향으로 나를 가리켜 주시겠습니까?

감사합니다.

답변

1

문자열 조작 함수를 사용하여 실행중인 모든 수식을 작성한 다음이를 특성 formuals로 변환하고 실행할 모델 목록에 적용 할 수 있습니다. 예 :

vars <- paste0("prca.searchwords.",1:6,".ts") 

resp <- unlist(lapply(1:6, function(i) apply(combn(vars,i), 2, paste, collapse=" + "))) 

result <- lapply(resp, function(r) { 
    do.call("dynlm", list(as.formula(paste0("monthly.privateconsumption.ts ~ ", r)))) 
}) 
+0

감사합니다. 나는 이것이 내 문제를 해결할 것이라고 생각한다. –