[英]Store regression coefs in R data.table
我想運行回歸並將系數存儲在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
看起來你想按行存儲。 試試這個:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.