2017-10-18 9 views
1

이미 회귀 된 쌍을 제외하고 내 데이터 집합의 각 변수 쌍에 로지스틱 회귀 분석을 실행하고 싶습니다. 모든 변수는 이항식입니다. 출력에는 쌍 테스트 및 테스트 통계가 포함되어야합니다. 필자가 사용해야하는 다른 데이터 세트가 있기 때문에 모든 변수가 여러 개 포함 된 다른 데이터 세트에서 작동하는 스크립트를 작성하려고합니다.로지스틱 회귀 이중 루프 R

샘플 데이터 세트에는 Var1이라는 6 개의 변수가 포함됩니다. 각각 Var6과 50 개의 관측치가 있습니다. VAR3에 Var6, 변수 2를 대입 할 때 변수 :

Var1 = c(rbinom(50,1,0.5)) 
Var2 = c(rbinom(50,1,0.25)) 
Var3 = c(rbinom(50,1,0.6)) 
Var4 = c(rbinom(50,1,0.2)) 
Var5 = c(rbinom(50,1,0.3)) 
Var6 = c(rbinom(50,1,0.8)) 

dt = data.table(Var1, Var2, Var3, Var4, Var5, Var6) 
head(dt) 

    Var1 Var2 Var3 Var4 Var5 Var6 
1 1 0 1 1 0 1 
2 1 0 0 0 0 1 
3 0 0 1 0 0 1 
4 1 0 1 0 1 0 
5 1 0 1 1 0 1 
6 0 1 1 1 0 0 

그래서 변수 2를 대입 할 때 변수에 VAR1을 회귀하고 싶은 Var6 등 출력 테이블은 Dependent_var, Independent_var, 견적, 합계, P_VALUE을 포함해야합니다.

n = ncol(dt)  
output <- data.table(matrix(nrow=(n*(n+1))/2, ncol=5)) 
names(output) = c("Dependent_var", "Independent_var", "Estimate", "Stat", "P_value") 
head(output) 

Dependent_var Independent_var Estimate Stat P_value 
1:   NA    NA  NA   NA  NA 
2:   NA    NA  NA   NA  NA 
3:   NA    NA  NA   NA  NA 
4:   NA    NA  NA   NA  NA 
5:   NA    NA  NA   NA  NA 
6:   NA    NA  NA   NA  NA 

지금 내가 제대로 출력 테이블을 채우는 방법 모두를 통해 모든과 루프 하나 개의 변수 및 루프에 ... 다음 확실하지 않다 :

나는 출력 테이블을했습니다. .. 어떤 도움이라도 대단히 감사합니다!

my_func <- function(x) { 
    for (i in 1:ncol(x)) { 
    fit <- glm(x[, i] ~ ., data = x, family = binomial(link = "logit")) 
    print(summary(fit)) 
    } 
} 

매개 변수 x은 dataframe입니다 :

답변

1

나는 그것이 도움이되는지, 간단한 절차를 스케치했다.

+0

빠른 답변 주셔서 감사합니다 @jsb! – Panda

+0

뭔가 잘못하고있는 것처럼 보입니다 ... 그래서 데이터 프레임으로 dt를 돌린 다음 루프를 실행하려고했습니다. 그래도 데이터를 얻지 못하면 어떻게 그것을 간질 낼 수 있습니까? 추신. 죄송합니다. 주석 섹션에 올바른 형식의 코드가없는 것 같습니다. 'dt <- data.frame (dt) my_func Panda