【发布时间】:2014-09-10 16:15:58
【问题描述】:
在学习 SPSS 并使用 SPSS 对几篇论文进行统计后,我正在尝试学习 R。我也一直在使用我的数据来帮助我学习和理解 R。在我的数据中,我必须在 SPSS 中找到一些线性回归,使用逐步比较来消除不“适合”模型的变量。我尝试将 stepAIC 与 MASS 包一起使用,因为我认为它是等价的,并且得到了一些完全不同的输出,以及我不理解且必须查找的内容。我的问题是,SPSS 中的 stepwise 和 stepAIC 有什么区别? (stepwise 比 stepAIC 更保守吗?)有没有办法编写 stepAIC 代码,相当于 stepwise?或者有什么不同的包可以帮助我吗?
这是我的代码:
mydata <- read.csv("Eric.csv")
AveSBP <- mydata[, 3]
MaxVi <- mydata[, 7]
PeakForce <- mydata[, 8]
MaxPO <- mydata[, 9]
Height <- mydata[, 10]
BMI <- mydata[, 11]
NeckCirc <- mydata[, 12]
ArmLength <- mydata[, 13]
ArmSpan <- mydata[, 14]
WaistCircum <- mydata[, 15]
LegLength <- mydata[, 16]
FatAth <- mydata[, 17]
Diff <- mydata[, 18]
Ratio <- mydata[, 19]
lm1 <- lm(AveSBP ~ MaxVi + PeakForce + MaxPO + Height + BMI + NeckCirc + ArmLength + ArmSpan + WaistCircum + LegLength + FatAth + Diff + Ratio)
summary(lm1)
stepAIC(lm1, directions="both")
我在 Windows 7 Pro x64、R x64 3.1.0 和 SPSS x64 v21 上运行它们。
【问题讨论】:
-
自包含的、可重复的示例,请在 spss 和 r 之间存在分歧。此外,spss 的逐步函数的源代码也会有所帮助。您正在构建
lm奇怪并且在MASS::stepAIC中拼写direction错误。您还应该指定运行代码所需的所有包 -
最好只为 data.frame 的列命名(如果它们不存在的话),而不是将列放在它们自己的向量中。然后你会像你一样使用
lm,但只需添加参数data=mydata -
@rawr 我确实在 SPSS 上运行了“Enter”方法,并与 summary(lm1) 输出进行了比较,结果完美排列。所以 stepwise 和 stepAIC 方法之间有些不同。我还一起删除了方向(stepAIC(lm1)),并得到了与方向“both”完全相同的输出。我也只加载了 3.1.0 的标准 R 版本的 MASS 包。我正在尝试查找逐步代码。
-
@Dason 我实际上需要将它们作为单独的列进行其他比较,并且需要选择单个向量,并帮助我根据我分配给每个向量的内容来识别所有内容。
-
它们已经是单独的列。我只是想知道你为什么要经历并将它们分配给对象,而不是仅仅将它们作为数据框中的变量引用。
标签: r regression spss