2013-05-08 61 views
2

當使用分類變量在R中使用lm函數建模時,是否有任何明確指定將哪個組用作虛擬編碼的參考組的方法?虛擬編碼的參考組

+0

啊,很顯然,我所提供的功能已經存在。它也可能以更好的性能得到實施,但爲了更好地理解發生的情況,我會將其留在下面。謝謝@Glen_b。 – 2013-05-08 12:07:22

回答

2

我知道最簡單的方法就是先重新編碼係數,以便您想用作參考的等級是第一個等級。

你可以用這樣的功能做到這一點:

recodeFactor<-function(f, ref=levels(f)[1]) 
{ 
    lvls<-levels(f) 
    if(ref== lvls[1]) return(f) 

    lvls<-c(ref, setdiff(lvls, ref)) 
    f<-factor(as.character(f), levels=lvls) 
    return(f) 
} 
+0

Brilliant Stuff ..非常感謝Nick Sabbe – 2013-05-08 12:02:43

1

你可以做這樣的lm電話:

y <- rnorm(100, 0, 1) 
x <- c(rbinom(50,1,.5),(2*rbinom(50,1,.5))) 
lm(y ~ factor(x,c(1,0,2))) # one way 
lm(y ~ factor(x,c(0,1,2))) # another way, etc. 
相關問題