我正在運行一個回歸,其中 NJ 是治療組,PA 是對照組。但是,當我運行回歸時,PA 是處理過的變數。PA實際上是未治療組,應該是基線。我該如何改變?
cardkruger = read.csv('https://raw.githubusercontent.com/bandcar/Examples/main/cardkruger.csv')
reg = lm(fte ~ t*treated, cardkruger)
summary(reg)
輸出:
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 17.0652 0.4986 34.224 <2e-16 ***
t 0.5075 0.7085 0.716 0.4740
treatedPA 2.8835 1.1348 2.541 0.0112 *
t:treatedPA -2.9140 1.6105 -1.809 0.0708 .
uj5u.com熱心網友回復:
有多種方法可以做到這一點,但
cardkruger$treated <- relevel(factor(cardkruger$treated), "PA")
是更改基線的最簡單方法(在運行回歸之前執行此操作)。來自?relevel
:
一個因子的水平被重新排序,以便“ref”指定的水平在前,其他水平向下移動。
該factor()
陳述句用于將變數從字符向量轉換為無序因子;這里沒有理由對其進行排序(“有序”與“無序”的術語非常令人困惑:參見例如有序因子變數的標簽)
如果你喜歡 tidyverse,你可以做
library(readr)
library(forcats)
library(dplyr)
cardkruger <- (read_csv('https://raw.githubusercontent.com/bandcar/Examples/main/cardkruger.csv')
|> mutate(across(treated, fct_relevel, "PA"))
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/533033.html
標籤:r回归