我不知道为什么会在这方面有困难,因为似乎有许多SO(注:stackoverflow的缩写)的答案都涉及到了这个问题。但是我还是来了。
我将由1和0组成的向量转换为因子,并将值标记为“是”和“否”。
fact <- factor(c(1,1,0,1,0,1),
levels=c(1,0),
labels=c("yes", "no"))
#[1] yes yes no yes no yes
#Levels: yes no
关于将转换因子回归数值的问题,建议使用as.numeric(as.character(x))
和as.numeric(levels(x)[x])
。
as.numeric(as.character(fact))
#[1] NA NA NA NA NA NA
as.numeric(levels(fact))[fact]
#[1] NA NA NA NA NA NA
v1 <- c(1,1,0,1,0,1); fact <- factor(v1, levels=c(1,0), labels=c('yes', 'no'));unique(v1)[as.numeric(fact)]
- akrun