虚拟编码的参考组

时间:2013-05-08 09:12:22

标签: r categorical-data

使用分类变量在R中使用lm函数进行建模时,有没有办法明确指定哪个组作为虚拟编码的参考组?

2 个答案:

答案 0 :(得分: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)
}

答案 1 :(得分: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.