2017-08-17 195 views
-1

我很新的统计和R。在我的数据集中,目标变量是航班状态,以预测航班是否可能延误或可能准点。因此,它有两个响应变量值 - 延迟和准时。因此,为了构建使用R的逻辑回归模型,我们是否必须首先将目标变量重新编码为0和1?我的意思是它需要为0-延迟和1为Ontime。还是我可以将目标变量保持为因子?R逻辑回归

请原谅我的基本问题。

+0

谢谢你的回应。 在这些项目的解决方案之一中,我看到它在进一步继续之前转换为数字?但是,有没有推荐的方式,或者你认为大多数人会遵循什么样的标准?我正在学习R和统计数据,并且对最佳实践感兴趣。 – lak3567bo

+0

底线,只要您的变量具有正确的类别(例如'factor'),就不需要重新编码。 –

回答

3
data(iris) 

Binary dependent variable: 
iris$Species_binary <- ifelse(iris$Species=="setosa", "no", "yes") 

它是否是一个因素?

glm(as.factor(iris$Species_binary)~iris$Sepal.Length, family="binomial") 

是的,它的确如此。

Call: glm(formula = as.factor(iris$Species_binary) ~ iris$Sepal.Length, 
    family = "binomial") 

Coefficients: 
     (Intercept) iris$Sepal.Length 
      -27.829    5.176 

Degrees of Freedom: 149 Total (i.e. Null); 148 Residual 
Null Deviance:  191 
Residual Deviance: 71.84 AIC: 75.84 

难道作为一个逻辑(布尔)变量工作?

glm(I(iris$Species_binary=="yes")~iris$Sepal.Length, family="binomial") 
Call: glm(formula = I(iris$Species_binary == "yes") ~ iris$Sepal.Length, 
    family = "binomial") 

Coefficients: 
     (Intercept) iris$Sepal.Length 
      -27.829    5.176 

Degrees of Freedom: 149 Total (i.e. Null); 148 Residual 
Null Deviance:  191 
Residual Deviance: 71.84 AIC: 75.84 

是的,它会。当然,一个数值变量也可以工作。

对于logit的大多数其他软件包/函数,情况也是如此,但有些可能会有不同的表现。请注意,逻辑链接是二项系列的默认值,这就是为什么我不必指定它。

尽管如此,请确保您知道哪个级别的因素被计为正级别!否则你对结果的解释将会倒退。

+0

谢谢你的回应。 在这些项目的解决方案之一中,我看到它在进一步继续之前转换为数字?但是,有没有推荐的方式,或者你认为大多数人会遵循什么样的标准?我正在学习R和统计数据,并且对最佳实践感兴趣。 – lak3567bo

+1

@ lak3567bo不客气。大多数人会将其转换为数字,以便他们能够确定地知道,意图成为积极水平的因素水平正在被视为如此。既然选择存在这样做的其他方式,没有通用的标准做法,但在有标准的环境中(如课程或某些期刊等),标准可能会首先将其转换为数字。如果你希望你可以点击我的答案,让未来的读者知道这是答案。 :) –

+0

公式接口的使用可能会更好。我明白这可能是为了演示的目的,但不需要教初学者一些会让他们陷入困境的东西。 'mdl < - glm(as.factor(iris $ Species_binary)〜iris $ Sepal.Length,family =“binomial”); 预测(mdl,newdata = iris [1:5,]); iris $ Species_binary < - as.factor(iris $ Species_binary); mdl2 < - glm(Species_binary〜Sepal.Length,family = binomial,data = iris); 预测(mdl2,newdata = iris [1:5,])' –