问题标签 [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.

0 投票
1 回答
25848 浏览

r - 为残差建立线性模型时R可变长度不同

我正在解决一个问题,我想使用其他两个线性模型的残差来构建线性模型。我使用 UN3 数据集来显示我的问题,因为它比使用我的实际数据集更容易将问题放在这里。

这是我的 R 代码:

这是我得到的错误:

我真的不明白为什么会发生这个错误。如果是与日志相关的问题,那么我在构建前两个模型时应该会收到错误消息。

0 投票
3 回答
43980 浏览

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()功能时,我没有收到任何消息。

这是一个示例数据:

0 投票
4 回答
7044 浏览

r - R - 回归中仅与一个因子水平的交互作用

在回归模型中是否可以只包含与一个因子的一个虚拟变量的交互?例如,假设我有:

是否可以建立一个模型,如:

但只包括与一级的交互X?我意识到我可以为每个级别创建一个单独的虚拟变量x,但如果可能的话,我想简化一些事情。

非常感谢任何输入!

0 投票
1 回答
2847 浏览

r - 是否有一个函数或包可以模拟从 lm() 返回的对象的预测?

是否有一个类似于“runif”、“rnorm”等的函数可以产生线性模型的模拟预测?我可以自己编写代码,但是代码很难看,我认为这是以前有人做过的事情。

我感兴趣的是一个看起来像下面一行的函数:

该函数将根据新的 x 变量返回 1000 个 y 值模拟。

0 投票
1 回答
109 浏览

r - 访问和重用模型公式 (R)

我想自动化以下过程。

  1. 使用 . 拟合 (lm /glm) 模型step()
  2. 提取 (1) 的结果模型中的变量,例如 (X1+X2),如Y~X1+X2
  3. 在新的 lm/glm(加上一些新变量)中重新使用 (1) 中的模型。

我了解模型公式可以使用model$callmodel$terms从哪里访问模型公式model,例如

但我无法正确提取它并在新模型中重新使用它,例如:

似乎需要对 model$call 进行处理,但我不确定数组的结构以及如何折叠它。谢谢。

0 投票
1 回答
721 浏览

r - 为什么在分组 data.table 中的 lm 上使用更新会丢失其模型数据?

好吧,这很奇怪。我怀疑这是内部的一个错误data.table,但如果有人能解释为什么会发生这种情况,那将会很有用 - 究竟在update做什么?

我正在使用list(list())里面的技巧data.table来存储拟合的模型。当您为不同的分组创建一系列lm对象,然后创建update这些模型时,所有模型的模型数据将成为最后一个分组的模型数据。这似乎是一个参考挂在某个应该制作副本的地方,但我找不到在哪里,也无法在 and 之外复制lmupdate

具体例子:

从 iris 数据开始,首先使三个物种的样本量不同,然后lm为每个物种拟合一个模型,更新这些模型:

原始数据表中每个物种的数量不同

第一次拟合证实了这一点:

但更新后的第二次拟合显示所有模型的 42

我们还可以查看包含用于拟合的数据的模型属性,并看到所有模型确实都在使用最终组数据。问题是这是怎么发生的?

0 投票
2 回答
16592 浏览

r - 获取“lm()”返回的“mlm”对象的剩余标准误差

我曾经lm()为 R 中的多个(约 100 万)响应变量拟合多个回归模型。

这将返回一个“mlm”类的对象,它就像一个包含所有模型的巨大对象。我想获得每个模型的残差平方和,我可以使用:

我的问题是我认为“汇总”函数也计算了一大堆其他东西,因此很慢。我想知道是否有更快的方法来提取模型的残差平方和?

谢谢!

0 投票
2 回答
507 浏览

r - R中的系数变量成员

在使用正则表达式之前,我已经为此制定了一个非常冗长的解决方案,但我希望有一种更原生的方法来做到这一点。

给定一个模型,也许像

我想确定公式中哪个系数与哪个变量有关。像这样:

我已经检查过了model.matrixmodel.formula但是那些让我看到了这行代码

我深入研究了 C 代码,但我认为必须有一种更简单的方法。有没有?

为了回应 DWin 的好回答,我构建了一个复杂的示例,其中正则表达式可能会失败。这是正则表达式让我害怕的边缘情况之一。

data.frame是用变量名和值构建的,这些变量名和值很容易混淆,这种情况经常发生。

这将连续变量Bat与 的所有系数相匹配factor Batter

是的,这是一个愚蠢的例子,但很容易发生。

0 投票
4 回答
14694 浏览

r - 使用 lm 并预测矩阵中的数据

R只使用了一点点,从不使用数据帧,这使得理解预测的正确使用变得困难。我将数据放在普通矩阵中,而不是数据框中,将它们称为ab,它们分别是N x pM x p矩阵。我可以运行回归lm(a[,1] ~ a[,-1])。我想使用生成的lm对象b[,1]b[,-1]. 我天真的猜测是predict(lm(a[,1] ~ a[,-1]), b[,-1])行不通的。lm使用获取预测向量的正确语法是什么?

0 投票
1 回答
2193 浏览

r - 使用多个响应和权重运行 lm

我必须将具有相同模型矩阵的线性模型拟合到多个响应中。这可以通过将响应指定为矩阵而不是向量在 R 中轻松完成。以这种方式计算非常快。

现在我还想为模型添加与响应准确性相对应的权重。因此,对于每个响应向量,我还需要不同的权重向量。但是,lm只允许将权重作为向量而不是矩阵输入。所以我不能批量输入权重,必须分别lm为每个响应运行。这样计算会变得慢得多。

有没有办法以批处理模式运行这些类型的模型,而无需lm重复调用?