【问题标题】:extracting only value of coeffcient from lm [duplicate]从 lm 中仅提取系数的值 [重复]
【发布时间】:2016-11-15 23:30:16
【问题描述】:

我已经阅读了一些关于从 lm 中提取系数值的帖子,例如 here

但我想只有拦截值而不是文本。我该怎么办?

在这里你可以看到我的部分简单代码:

...
f<-lm(res[,1]~res[,2])
f
...

【问题讨论】:

  • 试试unname(f[[1]][1])
  • 哈哈快了 28 秒 :)
  • 或者更容易记住,unname(coef(f))
  • @RHertel 可以工作:) 请告诉我你的代码是做什么的?我们为什么要这样做?哪个数据结构有'f'?
  • f的结构可以用str(f)查看。这表明f 是一个包含 12 个条目的列表。截距存储为列表第一个条目中的两个值之一,f[[1]] 或等效的f$coefficients。列表的第一个条目包含两个命名的数值。命令unname()删除名称,并通过使用f$coefficients[1]指定只应选择第一个值(截距)。希望这会有所帮助。

标签: r lm


【解决方案1】:

如果你想使用来自 lm 函数的数据,比如系数、p 值等,我建议使用 broom 包。

可以使用函数tidy 来访问拦截。这将返回一个data.frame。 简单例子:

library(broom)
f <- lm(speed ~ ., data = cars)
df1 <- tidy(f)

df1
         term  estimate  std.error statistic      p.value
1 (Intercept) 8.2839056 0.87438449  9.473985 1.440974e-12
2        dist 0.1655676 0.01749448  9.463990 1.489836e-12

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 2021-04-30
    相关资源
    最近更新 更多