[英]how can I set a dummy variable in a regression in R
以下是我的數據
y r1 r2 r3
1 0.1 0.2 -0.3
2 0.7 -0.9 0.03
3 -0.93 -0.32 -0.22
1.第一個問題是我怎樣才能得到這樣的輸出:
y r1 r2 r3 dummy_r1 dummy_r2 dummy_r3
1 0.1 0.2 -0.3 0 0 1
2 0.7 -0.9 0.03 0 1 0
3 -0.93 -0.32 -0.22 1 1 1
注:我要負數為1,正數為0
2.第二個問題是,如果我想做這樣的回歸: lm(y~r1+r2+r3+dummy_r1+ dummy_r2+dummy_r3)
,如果我不想使用輸出data(dummy_r1,dummy_r2,dummy_r3)
上面,因為不方便。
使用末尾注釋中可重現的DF
,將DF2
定義為也具有sign.*
列,然后對其運行回歸。 當然,您在問題中沒有足夠的數據來實際獲得這么多預測變量的系數,但是如果在您的實際問題中您有更多數據,那么應該沒問題。
DF2 <- cbind(DF, sign = +(DF[-1] < 0))
lm(y ~., DF2)
給予:
Call:
lm(formula = y ~ ., data = DF2)
Coefficients:
(Intercept) r1 r2 r3 sign.r1
1.425 -1.163 -1.543 NA NA
sign.r2 sign.r3
NA NA
Lines <- "y r1 r2 r3
1 0.1 0.2 -0.3
2 0.7 -0.9 0.03
3 -0.93 -0.32 -0.22"
DF <- read.table(text = Lines, header = TRUE)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.