在使用分类变量在 R 中使用 lm 函数进行建模时,有没有办法明确指定将哪个组作为虚拟编码的参考组?
Prasun Velayudhan
问问题
1089 次
2 回答
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)
}
于 2013-05-08T09:30:32.323 回答
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.
于 2013-05-08T20:17:10.360 回答