我有一个来自四种处理的实验数据集,它们使用四个虚拟变量进行编码,我将称之为Tr1、Tr2、Tr3和Tr4。(为了明确起见:Tr1 + Tr2 + Tr3 + Tr4 = 1
用于我的数据集中的所有观察。)现在,我正在估计一个线性回归模型,在所有四个虚拟变量加上一些其他回归变量上,我将结果变量y回归,忽略常量:
lm(y ~ Tr1 + Tr2 + Tr3 + Tr4 + var1 + var2 + 0, data = df)
问题是,这个模型没有常数,产生膨胀的R^2值。显然,Stata有一个, hasconst
选项,它生成正确的R^2值,同时考虑到模型是在没有常数的情况下估计的,但是一个常数是以所有假人的形式包含的。R中有类似的东西吗?或者有人能告诉我如何计算这个模型的R^2吗?
发布于 2022-01-13 20:01:24
如果删除其中一个假人,但包含一个常量,则估计的模型将是相同的(模将常量添加到假人中),R2将是正确的:
m <- lm(y ~ Tr2 + Tr3 + Tr4 + var1 + var2, data = df)
rsq <- summary(m)$r.squared
https://stackoverflow.com/questions/70202343
复制相似问题