我有以下問題。
從以下名為“R”的起始矩陣,我想通過將不同年齡(“Anno”)中的兩個變數“Morti_per_abitante”和“PL_per_abitante”鏈接在一起,為每個“Territorio”(領土)匯出一個線性模型。

為此,我創建了一個名為 TT 的空表,在該表中,我可以為每個區域輸入線性模型的值(斜率或“Tasso”和顯著性或“signficativita”)

此時,我創建了一個 for 回圈,該回圈基于每 13 個“Territorio”中的一個處理 TT 表,將獲得具有 2 個引數的模型:
for (i in 1:13){
Ter<-TT[i:1]
filter(R, Territorio==Ter) %>%
Tasso[1:2]<-lm(Morti_per_abitante ~ PL_per_abitante,R)$coefficents[2]
}
該代碼從插入的過濾器開始不起作用。
我該怎么做才能更正代碼行?
是否有另一種方法可以為每個領土建立線性模型?
謝謝
uj5u.com熱心網友回復:
這是一個dplyr broom方法。我正在使用模擬資料框R。
library(broom)
library(dplyr)
set.seed(123)
R <- data.frame(Territorio = rep(c("Lazio", "Puglia"), c(10, 5)),
Anno = sample(2015:2020, size = 15, replace = TRUE),
Morti_per_abitante = rnorm(15),
PL_per_abitante = rnorm(15))
R |>
group_by(Territorio) |>
group_modify(~{
tidy(lm(Morti_per_abitante ~ PL_per_abitante, data = .x))
}) |>
filter(term == "PL_per_abitante") |>
rename(Tasso = estimate, Significativita = p.value) |>
select(Territorio, Tasso, Significativita)
#> # A tibble: 2 × 3
#> # Groups: Territorio [2]
#> Territorio Tasso Significativita
#> <chr> <dbl> <dbl>
#> 1 Lazio -0.339 0.367
#> 2 Puglia 0.239 0.592
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/447080.html
