【发布时间】:2017-03-31 02:36:36
【问题描述】:
我正在尝试理解 R 中的回归。我正在尝试解决一个包含 100 个随机男女数据集的练习,如下所示:
sex sbp bmi
male 130 40.0
female 126 29.0
female 115 25.0
male 120 33.0
female 128 34.0
...
我想得到一个数值摘要 (0) 绘制 sbp 和 bmi (1) 之间的关系,并用 R^2 (2) 估计 beta1、beta2 和 sigma 参数。然后,检查模型的优度(3)并得到置信区间(4)..
我认为性别是一个分类变量,所以这是我的代码:
as.numeric(framingham$sex) - 1
apply(framingham, 2, class)
#0
framingham$sex <- factor (framingham$sex)
levels (framingham$sex) <- c("female", "male")
resultadoNumerico <- compareGroups(~., data = framingham)
resumenNumerico <- createTable(resultadoNumerico)
resumenNumerico
# 1
framinghamMatrix <- data.matrix(framingham)
pairs(framinghamMatrix)
cor(framinghamMatrix)
#2
regre <- lm(sbp ~ bmi+sex, data = framingham)
regreSum <- summary(regre)
regreSum
# Sigma
regreSum$sigma
# Betas
regreSum$coefficients
#3
plot(framingham$bmi, framingham$sbp, xlab = "SBP", ylab = "BMI")
abline (regre)
但我认为我做事不对...你能帮帮我吗?提前谢谢...
【问题讨论】:
-
我还没有运行代码,但你能说说为什么你认为你做错了吗?
-
因为我需要比较男性和女性回归直线,模型的总结只给出一个:系数:估计标准。误差 t 值 Pr(>|t|)(截距)79.0624 11.0716 7.141 1.71e-10 *** bmi 1.9338 0.3965 4.877 4.21e-06 *** sexfemale 3.0395 3.7731 0.806 0.422
-
您只能得到 2 水平因子的一个水平的估计值,因为另一个水平是参考水平。如果两者兼而有之,您将陷入“虚拟变量陷阱”,结果将毫无意义。 algosome.com/articles/dummy-variable-trap-regression.html
-
嗯嗯,我想我不明白......正如我所说,这是我第一次看到这个......:/
-
这确实是一个关于统计建模的问题。如果您不了解回归如何处理分类变量,最好在Cross Validated 提问。这不是一个编程问题,当然也不是 R 独有的。
标签: r regression categorical-data