问题标签 [lm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 是否可以仅使用响应变量拟合线性模型?
如果我这样做,我会得到两个系数(截距和年份)
但正确答案是 0.944
有没有办法为响应变量指定 glm 公式?如果我对第一个数据框使用第二个公式,我会得到错误的答案,因为“。” 还包括“年”。在第二个数据框中,我在作弊,因为只有一列。
r - 使用 lm 对独特因子组合的子集进行回归
我想为分组变量的唯一组合定义的子集自动执行简单的多元回归。我有一个数据框,其中包含几个分组变量 df1[,1:6] 和一些自变量 df1[,8:10] 和一个响应 df1[,7]。
这是数据的摘录。
使用 unique(df1[,1:6]) 返回分组变量的 5 个因子组合。所以应该有 5 个子集我应用 lm() 函数。我的电话看起来像这样
问题 1:它返回一个包含 16 个列表条目的列表。显然,它计算了前六个分组变量的所有可能的因子组合。(V5+V6只有on水平,而V1:4在节选中有两个水平水平。导致2^4=16)但它应该只使用数据中真实存在的因素组合。所以我想 by() 不是实现这一目标的正确功能。有什么建议么?
问题 2:我发现引用列索引而不是变量名更容易。所以我最初试图以 lm(df1[,7]~df1[,8]+df1[,9]) 的方式使用我的 lm() 函数。那没有成功。因为我总是访问整个 df1 数据框而不是子集。所以可能我应该将因子组合的行索引传递给 lm() 函数而不是完整的数据框。
我认为问题 1 和 2 的解决方案在某种程度上是相关的,并使用另一个子集函数来解决。如果有人可以尝试解释我的错误在哪里,那就太好了。如果可能的话,我会坚持使用标准包,因为我想提高对 R 的理解。谢谢
编辑:变量赋值中的一个小错误
r - 将变量向量传递给 lm() 公式
我试图自动化我的一段代码,以便编程变得不那么乏味。
基本上,我试图fastbw()
在rms包中逐步选择变量。我想将选择的变量列表传递fastbw()
给公式y ~ x1+x2+x3
,“x1”“x2”“x3”是选择的变量列表fastbw()
这是我尝试过但没有用的代码
我是 R 新手,还没有经历过陡峭的学习曲线,所以对于明显的编程错误深表歉意。
r - 当预测值没有方差时,为什么 lm 会返回值?
考虑以下 R 代码(我认为它最终会调用一些 Fortran):
为什么摘要返回值?由于 Y 没有变化,这个模型不应该不适合吗?更重要的是,为什么模型 R^2 ~= .5?
编辑
我跟踪了从 lm 到 lm.fit 的代码,可以看到这个调用:
这就是真正适合的地方。查看http://svn.r-project.org/R/trunk/src/appl/dqrls.f)并没有帮助我理解发生了什么,因为我不知道 fortran。
r - R计算具有奇点的lm模型的稳健标准误差(vcovHC)
在 R 中,当某些系数由于奇异性而被丢弃时,如何使用 vcovHC() 计算稳健的标准误差?标准 lm 函数似乎可以很好地计算实际估计的所有系数的正常标准误差,但 vcovHC() 会引发错误:“面包错误。%*% 肉。:不符合的参数”。
(我使用的实际数据有点复杂。事实上,它是一个使用两种不同固定效应的模型,我遇到了无法简单摆脱的局部奇点。至少我不知道如何。对于我使用的两个固定效应第一个因子有 150 个级别,第二个有 142 个级别,总共有 9 个奇点,这是因为数据是在十个块中收集的。)
这是我的输出:
这是为重现错误而截取的最小代码。
r - 当响应变量和解释变量都进行对数转换时,如何使用 predict() 获得 y_hat?
我有一个对数对数线性函数:
我想使用相同的数据集获得 y_hat,我做到了
结果似乎很多(与我在 R 中手动计算的 y-hat 进行比较)。
任何原因?
第二个相关问题是,我首先在原始数据集 mod_dt 中添加了三列,用于 y、x1 和 x2 的对数转换。比如说,它们被命名为 logy、logx1 和 logx2,然后我运行 lm:
这给出了一组不同的系数。
这可以通过这样做给出正确的 y-hat
提前谢谢了。
r - 从 dlply 内部调用的 lm 引发“0(非 NA)案例”错误 [r]
我将 dlply() 与一个自定义函数一起使用,该函数平均 lm() 的斜率适合包含一些 NA 值的数据,并且我收到错误“lm.fit 中的错误(x,y,offset = offset,singular.ok = single.ok, ...) : 0 (non-NA) case"
仅当我使用两个关键变量调用 dlply 时才会发生此错误 - 由一个变量分隔可以正常工作。
令人讨厌的是,我无法使用简单的数据集重现错误,因此我已将问题数据集发布到我的保管箱中。
这是代码,在仍然产生错误的同时尽可能最小化:
提前感谢您的任何见解。
r - model.frame 和更新
在 R 中,您可能已经估计了一个具有对数转换因变量的模型:
然后您可能想要更改模型框架并调用更新以重新调整模型:
这将导致错误:
原因是公式仍然有因变量log(salary)
,模型框架中的变量称为log(salary)
。R认为它可以找到salary
然后调用log
它。如果没有重新采样,同样的错误也会发生,这个例子只是说明了为什么人们可能想要这样做。
上面的过程来自执行重新采样行的引导程序包。这种行为是意料之中的,还是一个错误?我知道可以通过转换 data 参数中的变量来解决它,但这似乎很烦人并且被忽视了......
r - R线性模型不能处理0的值
我似乎无法让lm
函数在任何以 0 作为数据值的列上正常工作。这是我的代码:
但是当我对 进行总结时project.lm
,我在线性模型中得到了数以千计的变量,实际上每个 的值对应一个变量Bsmt.Unf.SF
。这发生在所有值为 0 的列上;否则,一切正常。有任何想法吗?!?
r - lm predict 不会预测
我有 2 个数据框。一个是训练数据 ( pubs1
),另一个是 ( pubs2
) 测试数据。我可以创建线性回归对象,但无法创建预测。这不是我第一次这样做,也不知道出了什么问题。
这里有什么我想念的吗?