【问题标题】:Store regression coefs in R data.table将回归系数存储在 R data.table 中
【发布时间】:2018-09-06 01:35:42
【问题描述】:

我想运行回归并将系数存储在 data.table 中。这是一个最小的例子:

library(data.table)
library(MASS)

dt <- as.data.table(iris)
dt[, c("coef1", "coef2") := rlm(Sepal.Length ~ Petal.Length)$coef]
dt

但是,它会循环输出,因此每行的 coef1 和 coef2 相同,但两个系数每隔一行显示一次。

此示例显示了我希望它的外观,但它不是最佳的,因为它需要运行两次回归:

dt <- as.data.table(iris)
dt[, `:=`("coef1"=rlm(Sepal.Length ~ Petal.Length)$coef[1], "coef2"=rlm(Sepal.Length ~ Petal.Length)$coef[2])]
dt

【问题讨论】:

    标签: r data.table regression


    【解决方案1】:

    看起来您想按行存储。试试这个:

    library(data.table)
    library(MASS)
    dt <- as.data.table(iris)
    dt[, c("coef1", "coef2") := as.list(rlm(Sepal.Length ~ Petal.Length)$coef)][]
    dt
    # output
         Sepal.Length Sepal.Width Petal.Length Petal.Width   Species    coef1     coef2
      1:          5.1         3.5          1.4         0.2    setosa 4.300878 0.4097214
      2:          4.9         3.0          1.4         0.2    setosa 4.300878 0.4097214
      3:          4.7         3.2          1.3         0.2    setosa 4.300878 0.4097214
      4:          4.6         3.1          1.5         0.2    setosa 4.300878 0.4097214
      5:          5.0         3.6          1.4         0.2    setosa 4.300878 0.4097214
     ---                                                                               
    146:          6.7         3.0          5.2         2.3 virginica 4.300878 0.4097214
    147:          6.3         2.5          5.0         1.9 virginica 4.300878 0.4097214
    148:          6.5         3.0          5.2         2.0 virginica 4.300878 0.4097214
    149:          6.2         3.4          5.4         2.3 virginica 4.300878 0.4097214
    150:          5.9         3.0          5.1         1.8 virginica 4.300878 0.4097214
    

    【讨论】:

    • 感谢您向我展示 as.list()。我还尝试了常规的 .() 表示法,我认为它创建了一个列表,但是 .() 并没有成功。 as.list() 成功了。
    猜你喜欢
    • 2019-09-28
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多