我想为因子x
的每个级别创建逻辑变量。如何在R中的多级因子中创建逻辑变量
x <- factor(c('apple','orange','apple','peach'))
所以我会得到每三个变量的x
长度:
apple = c(T,F,T,F)
orange = c(F,T,F,F)
peach = c(F,F,F,T)
有一个函数来做到这一点?
我想为因子x
的每个级别创建逻辑变量。如何在R中的多级因子中创建逻辑变量
x <- factor(c('apple','orange','apple','peach'))
所以我会得到每三个变量的x
长度:
apple = c(T,F,T,F)
orange = c(F,T,F,F)
peach = c(F,F,F,T)
有一个函数来做到这一点?
试试这个。它创建这些向量的数据帧:
x <- as.factor(c('apple','orange','apple','peach'))
df <- data.frame(sapply(levels(x), function(l) l == x))
可能重复[如何创建虚拟变量](http://stackoverflow.com/q/12758075/903061)。 – Gregor
更好的可能性:[在R中生成一个虚拟变量](http://stackoverflow.com/q/11952706/903061)。 – Gregor
...从中我会推荐'model.matrix(〜x + 0)' – Gregor