2017-04-26 6 views
0

シンプルなロジスティック回帰関数を作成しましたが、実行すると変数名が意図したとおりに上がっていません。たとえば...ログ回帰関数のラベル付き変数

#Simple Logistic Regression Function 
logr <- function(y, x) { 
model <- glm(y ~ x, data = gt2, family = "binomial") 
print(summary(model)) 
exp(cbind(OR = coef(model), confint(model))) 
} 

は私がコンソールにこれを入力するよ...

結果はご覧のように、予測因子である

logr(gt2$EDGT, gt2$age) 

Call: 
glm(formula = y ~ x, family = "binomial", data = gt2) 

Deviance Residuals: 
    Min  1Q Median  3Q  Max 
-0.8250 -0.8125 -0.7856 1.5902 1.7696 

Coefficients: 
      Estimate Std. Error z value Pr(>|z|)  
(Intercept) -0.89974 0.16721 -5.381 7.41e-08 *** 
**x**   -0.01962 0.02223 -0.882 0.378  
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for binomial family taken to be 1) 

    Null deviance: 434.32 on 373 degrees of freedom 
Residual deviance: 433.51 on 372 degrees of freedom 
    (3 observations deleted due to missingness) 
AIC: 437.51 

Number of Fisher Scoring iterations: 4 

Waiting for profiling to be done... 
        OR  2.5 % 97.5 % 
(Intercept) 0.4066735 0.2916710 0.5623434 
**x**   0.9805752 0.9370358 1.0228424 

...これで出てきます「X」とラベル付けされている。適切な変数名でラベルを付けるにはどうすればよいですか?本当にありがとう!

答えて

0

あなたはこのようreformulateを使用することができます。

まずいくつかのデータ、

# reproducible data 
temp <- iris 
# y variable 
temp$setosa <- as.integer(temp$Species == "setosa") 

変更された機能今

logr <- function(y, x, data) { 
    model <- glm(reformulate(x, y), data=data, family = "binomial") 
    print(summary(model)) 
    exp(cbind(OR = coef(model), confint(model))) 
} 

logr("setosa", "Sepal.Width", temp) 

がRESUを生成します終了日は

     OR  2.5 %  97.5 % 
(Intercept) 1.490577e-07 5.094784e-10 1.582225e-05 
Sepal.Width 1.202574e+02 2.769935e+01 7.166963e+02 
+0

ありがとうございます! –

関連する問題