我有以下假设:如果月收入较高,那么工作满意度会增加。
变量:
$ JobSatisfaction: Ord.factor w/ 4 levels: 1 = low, 2 = medium, 3 = high, 4 = very high
$ MonthlyIncome : int 5993 5130 2090 2909 3468 3068 2670 2693 9526 5237,...
有了这两个变量,我现在需要进行回归分析。因此我被建议使用虚拟编码。如果是这样,有人可以向我解释我需要采取的各个步骤,以便获得适当的结果。
答案 0 :(得分:1)
这看起来更像是一个家庭作业问题,如果是这样的话,那么让我们为你做功课就是对你,你的同学,你未来的雇主和其他人的不利。
如果这不是一个家庭作业问题,那么你仍然可以从学习如何做到这一点并自己解释结果中受益,但我会提供一些指导,引导你朝着正确的方向前进。
首先,您确实需要确定您的问题是什么以及驱动它的背景信息。
如果您认为工作满意度会增加收入,或者想要使用满意度来预测收入,则使用虚拟变量进行回归是合适的,R中的lm
函数将为您创建虚拟变量(注意RStudio是一个GUI对于R,RStudio不进行回归计算,而是将命令传递给R,R进行计算并将结果发送回RStudio进行显示)。您应该查阅一本关于回归的好教科书或课程,或咨询顾问,以确保您对回归模型中的假设感到满意并理解结果。
另一方面,如果您认为收入驱动/预测/确定工作满意度(这是您的第一行所暗示的),那么定期回归(尤其是虚拟变量)是不合适的。更合适的是比例赔率逻辑回归。有R的包可以实现这个(MASS和rms是其中2个),但这比线性回归更复杂,所以你真的应该咨询一个顾问,或者采取额外的类,以完全理解假设以及如何解释结果
答案 1 :(得分:0)
我同意Greg的回答,重要的是决定您的研究假设,并建立与测试假设所需数据相关的数据和分析技术。
也就是说,关于虚编码变量和lm()
函数的问题,R将自动在lm()
中为作为因子的独立变量创建虚编码变量。作为说明,我们将使用treemap
包中包含的2014年国民收入总额数据集中的数据。
空假设:大陆的人均国民总收入并没有显着变化
替代假设:人均国民总收入因大陆而异显着
此分析的R代码:
library(treemap)
data(GNI2014)
# recode continent as a factor
GNI2014$continent <- as.factor(GNI2014$continent)
# use lm() to regress gross national income on continent
theModel <- lm(GNI ~ continent, data=GNI2014)
summary(theModel)
...和输出:
> theModel <- lm(GNI ~ continent, data=GNI2014)
> summary(theModel)
Call:
lm(formula = GNI ~ continent, data = GNI2014)
Residuals:
Min 1Q Median 3Q Max
-26991 -11189 -1809 3237 89284
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2184 2679 0.815 0.415985
continentAsia 13309 3808 3.494 0.000597 ***
continentEurope 27368 3947 6.934 6.98e-11 ***
continentNorth America 14672 4640 3.162 0.001836 **
continentOceania 9616 5803 1.657 0.099220 .
continentSeven seas (open ocean) 7863 11045 0.712 0.477454
continentSouth America 7012 5990 1.171 0.243297
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 18560 on 181 degrees of freedom
Multiple R-squared: 0.2166, Adjusted R-squared: 0.1906
F-statistic: 8.342 on 6 and 181 DF, p-value: 5.456e-08
从回归输出中我们可以看出,亚洲,欧洲和北美的斜率是正的,并且在0.05的显着性水平上与0显着不同。请注意,由于没有直接列出,非洲大陆由截距计算。所有其他斜率都是相对于截距解释的。
由于8.342的F统计量在0.05水平上是显着的,我们拒绝零假设,即各大洲的人均国民总收入相同,支持跨大陆不相等的替代假设。
请注意,可以使用aov()
函数完成相同的分析。
theModel <- aov(GNI ~ continent, data = GNI2014)
summary(theModel)
theModel$coefficients
...和输出:
> summary(theModel)
Df Sum Sq Mean Sq F value Pr(>F)
continent 6 1.724e+10 2.873e+09 8.342 5.46e-08 ***
Residuals 181 6.234e+10 3.444e+08
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> theModel$coefficients
(Intercept) continentAsia
2183.958 13308.595
continentEurope continentNorth America
27367.505 14671.875
continentOceania continentSeven seas (open ocean)
9616.042 7862.708
continentSouth America
7011.875