我不知道为什么我正在为此付出努力,因为似乎有很多SO回答解决了这个问题。但我在这里。将转换因子转换为原始数值
我将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);事实< - factor(v1,levels = c(1,0),labels = c('yes','no')); unique(v1)[as.numeric(fact)]' – akrun
更改标签后,这是不可能的(从最一般意义上讲)。如果您知道原始代码是什么以及您替换了哪些代码,您可以在特定情况下返回。例如,如果您没有更改标签,那么您尝试使用的解决方案就能奏效。 – joran
这就是我所缺少的。我认为R与旧的存储新的信息。我想我想让R做更多像Stata一样的数据标签。 –