问题标签 [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 - 为残差建立线性模型时R可变长度不同
我正在解决一个问题,我想使用其他两个线性模型的残差来构建线性模型。我使用 UN3 数据集来显示我的问题,因为它比使用我的实际数据集更容易将问题放在这里。
这是我的 R 代码:
这是我得到的错误:
我真的不明白为什么会发生这个错误。如果是与日志相关的问题,那么我在构建前两个模型时应该会收到错误消息。
r - 添加拟合二次曲线
我正在尝试将拟合的二次曲线添加到绘图中。
显示的回归是线性的而不是二次的,我收到以下消息:
消息 d'avis : In abline(lm(data ~ factor + I(factor^2)), col = palette[iteration]) : 使用 des deux Premiers des 3 coefficients de régression
意思是:
使用 3 个回归系数中的前 2 个
仅运行该lm()
功能时,我没有收到任何消息。
这是一个示例数据:
r - R - 回归中仅与一个因子水平的交互作用
在回归模型中是否可以只包含与一个因子的一个虚拟变量的交互?例如,假设我有:
是否可以建立一个模型,如:
但只包括与一级的交互X
?我意识到我可以为每个级别创建一个单独的虚拟变量x
,但如果可能的话,我想简化一些事情。
非常感谢任何输入!
r - 是否有一个函数或包可以模拟从 lm() 返回的对象的预测?
是否有一个类似于“runif”、“rnorm”等的函数可以产生线性模型的模拟预测?我可以自己编写代码,但是代码很难看,我认为这是以前有人做过的事情。
我感兴趣的是一个看起来像下面一行的函数:
该函数将根据新的 x 变量返回 1000 个 y 值模拟。
r - 访问和重用模型公式 (R)
我想自动化以下过程。
- 使用 . 拟合 (lm /glm) 模型
step()
。 - 提取 (1) 的结果模型中的变量,例如 (X1+X2),如
Y~X1+X2
- 在新的 lm/glm(加上一些新变量)中重新使用 (1) 中的模型。
我了解模型公式可以使用model$call
或model$terms
从哪里访问模型公式model
,例如
但我无法正确提取它并在新模型中重新使用它,例如:
似乎需要对 model$call 进行处理,但我不确定数组的结构以及如何折叠它。谢谢。
r - 为什么在分组 data.table 中的 lm 上使用更新会丢失其模型数据?
好吧,这很奇怪。我怀疑这是内部的一个错误data.table
,但如果有人能解释为什么会发生这种情况,那将会很有用 - 究竟在update
做什么?
我正在使用list(list())
里面的技巧data.table
来存储拟合的模型。当您为不同的分组创建一系列lm
对象,然后创建update
这些模型时,所有模型的模型数据将成为最后一个分组的模型数据。这似乎是一个参考挂在某个应该制作副本的地方,但我找不到在哪里,也无法在 and 之外复制lm
它update
。
具体例子:
从 iris 数据开始,首先使三个物种的样本量不同,然后lm
为每个物种拟合一个模型,更新这些模型:
原始数据表中每个物种的数量不同
第一次拟合证实了这一点:
但更新后的第二次拟合显示所有模型的 42
我们还可以查看包含用于拟合的数据的模型属性,并看到所有模型确实都在使用最终组数据。问题是这是怎么发生的?
r - 获取“lm()”返回的“mlm”对象的剩余标准误差
我曾经lm()
为 R 中的多个(约 100 万)响应变量拟合多个回归模型。
这将返回一个“mlm”类的对象,它就像一个包含所有模型的巨大对象。我想获得每个模型的残差平方和,我可以使用:
我的问题是我认为“汇总”函数也计算了一大堆其他东西,因此很慢。我想知道是否有更快的方法来提取模型的残差平方和?
谢谢!
r - R中的系数变量成员
在使用正则表达式之前,我已经为此制定了一个非常冗长的解决方案,但我希望有一种更原生的方法来做到这一点。
给定一个模型,也许像
我想确定公式中哪个系数与哪个变量有关。像这样:
我已经检查过了model.matrix
,model.formula
但是那些让我看到了这行代码
我深入研究了 C 代码,但我认为必须有一种更简单的方法。有没有?
为了回应 DWin 的好回答,我构建了一个复杂的示例,其中正则表达式可能会失败。这是正则表达式让我害怕的边缘情况之一。
它data.frame
是用变量名和值构建的,这些变量名和值很容易混淆,这种情况经常发生。
这将连续变量Bat
与 的所有系数相匹配factor
Batter
。
是的,这是一个愚蠢的例子,但很容易发生。
r - 使用 lm 并预测矩阵中的数据
我R
只使用了一点点,从不使用数据帧,这使得理解预测的正确使用变得困难。我将数据放在普通矩阵中,而不是数据框中,将它们称为a
和b
,它们分别是N x p
和M x p
矩阵。我可以运行回归lm(a[,1] ~ a[,-1])
。我想使用生成的lm
对象b[,1]
从b[,-1]
. 我天真的猜测是predict(lm(a[,1] ~ a[,-1]), b[,-1])
行不通的。lm
使用获取预测向量的正确语法是什么?
r - 使用多个响应和权重运行 lm
我必须将具有相同模型矩阵的线性模型拟合到多个响应中。这可以通过将响应指定为矩阵而不是向量在 R 中轻松完成。以这种方式计算非常快。
现在我还想为模型添加与响应准确性相对应的权重。因此,对于每个响应向量,我还需要不同的权重向量。但是,lm
只允许将权重作为向量而不是矩阵输入。所以我不能批量输入权重,必须分别lm
为每个响应运行。这样计算会变得慢得多。
有没有办法以批处理模式运行这些类型的模型,而无需lm
重复调用?