簡體   English   中英

如何在 R 的回歸中設置虛擬變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM