R -线性回归-变量的控制

gupuwyp2  于 2022-12-06  发布在  其他
关注(0)|答案(4)|浏览(387)

我有计算机科学背景&我正试图通过解决互联网上的问题来自学数据科学
我有一个很小的数据集,其中有3个变量-种族,性别和年收入。有大约10,000个样本观察。我试图预测收入从种族和性别。
我已经把数据分成了两部分--每个性别一个&现在我正在尝试创建两个回归模型。这在R中可能吗?有人能提供示例语法吗?

qzlgjiam

qzlgjiam1#

您没有指定如何存储数据或如何记录变量race(这是一个因素吗?)
[If比如,你只是拟合男性的收入和种族,你有男性的收入和种族在income.mrace.m中,如果第二个是R中的一个 * 因子 *,那么lm(income.m~race.m)将拟合男性的线(在得到的对象上使用summary来获得关于它的信息)。你可以对女性做类似的事情,但大多数人不会这样拟合模型。]
如果你准备好假设两种性别的线条变化是相同的,你可以用一个模型来拟合两条线条。
这与单独分析行相比有几个优点,尽管也可以这样做。
如果性别是一个因子或记录为(0/1)的数值变量,种族是一个因子,并且您在数据框中有数据(例如,名为incdata),则您可以使用以下公式同时拟合这两条线:

lm(income~race*gender, data=incdata)

也就是R的简写

lm(income~race+gender+race:gender, data=incdata)

其中race:gender是相互作用项。
如果进一步假设种族对两性的影响是相同的,那么较小的模型:

lm(income~race+gender, data=incdata)

如果被要求“控制性别”,这通常是人们会选择的模型,尽管很多人会考虑我之前提到的交互模型。
我强烈建议先解决更简单的回归问题,用一本教科书或一套笔记来指导你。
如果你还没有在R中拟合回归,我会从一个较小的数据集开始,只有一个预测因子,只是为了习惯基本的机制。
R带有许多已经内置的数据集。例如,参见library(help=datasets),它具有大约80个数据集;一些随R提供的包包含更多的数据(例如,MASS包含超过80个数据)。CRAN上的许多R包都包含数据集,其中许多数据集适用于回归分析。
例如,cars数据集(见R中的?cars)记录了给定速度的汽车的停车距离,你不需要读入数据,它已经存在了。
一个简单的线性回归(不一定是最好的模型,因为对物理学有一定的了解,但对数据来说已经足够了)将是:

lm(dist~speed, cars)

同样,您可以使用summary来检查它。例如(我建议您一次输入一个):

carsfit <- lm(dist~speed, cars)
summary(carsfit)
plot(dist~speed, cars)
abline(carsfit, col=2)

汽车数据集(?cars)的帮助中的示例提供了其他几个模型和图。您也可以一次尝试一个。
car包(CAR是“Companion to Applied Regression”的缩写)有许多专门用于回归的小数据集。

bvjveswy

bvjveswy2#

事情很简单。

fit1 <- lm(income~gender+race,data=Dataframe1)
summary(fit1)

我不建议使用两个数据框。除非你使用更高级的统计方法,需要使用两个数据框。只要使用你的性别变量。
此外,请访问以下站点:http://www.statmethods.net/stats/regression.html

7vhp5slm

7vhp5slm3#

你确实可以这样做,但我相信你的问题是非常广泛的。
(1)你可以通过种族和性别来预测收入。2这可以通过各种方式来实现,但最常见的可能是“回归分析”。3我建议你在互联网上搜索一下这个主题。4回答什么样的回归以及如何进行回归是一个情境问题。5你可能会在阅读了回归的相关内容后自己找到答案。
(2)R可以做到这一点。但是我建议你在进入R之前读一些关于回归的阅读。
(3)如果要分析种族和性别是否可以预测收入,我只需做一个线性回归,其中收入是因变量,种族和性别是独立变量(预测变量),这可以通过R中的“lm”函数来完成。
还是我误会了什么?
此致

ugmeyewa

ugmeyewa4#

你需要阅读一些关于线性/多元回归技术的资料。不知道为什么你要根据性别将数据分成2组。随机将数据分成训练和测试,这样你就可以在训练上建模,在测试上验证。

相关问题