【问题标题】:Merging two "lm" objects in one in R在R中将两个“lm”对象合并为一个
【发布时间】:2020-01-15 03:55:50
【问题描述】:

我有两个来自线性拟合的类“lm”对象;让我们回忆一下 fit1 和 fit2

我想创建一个唯一变量,比如包含两个对象作为元素的类对象“lm”的“fits”。 这是为了将函数作为“限制”或“汇总”应用于拟合的单个组件。

有什么建议吗?

【问题讨论】:

  • 只需将它们放在一个列表中,然后使用lapplymap 之类的函数将您的函数应用于列表元素。例如,lapply(list(fit1, fit2), confint).
  • 谢谢。这解决了我的问题

标签: r merge lm


【解决方案1】:

您可以使用 "lmList" 类,该类由 nlme 包中的 lmList 函数返回:

fit1 <- lm(Sepal.Length ~ Sepal.Width, data = iris)
fit2 <- lm(Petal.Length ~ Petal.Width, data = iris)

fits <- list(fit1, fit2)
class(fits) <- "lmList"

library(nlme)
confint(fits)
#[[1]]
#                2.5 %     97.5 %
#(Intercept)  5.579865 7.47258038
#Sepal.Width -0.529820 0.08309785
#
#[[2]]
#                2.5 %   97.5 %
#(Intercept) 0.9393664 1.227750
#Petal.Width 2.1283752 2.331506

请参阅help("lmList") 以获取带有lmList 对象方法的函数列表。 (如果拟合没有与上例中相同的公式,则需要特别小心。)

【讨论】:

    猜你喜欢
    • 2019-08-13
    • 1970-01-01
    • 2018-10-15
    • 2021-05-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2021-06-26
    相关资源
    最近更新 更多