我知道经常被问到这个问题。但是,通过应用之前的建议,我仍然对两件事情感到困惑。
如何将多项值转换为整数?
如何在分析后将整数恢复为因子/字符?
library(car)
data(Prestige)
View(Prestige)
# here I convert directly from character which seems quite useless
Prestige$TYPE<-as.numeric(levels(Prestige$type))
# here I generate factors
Prestige$type<-as.factor(Prestige$type)
# and try to convert afterwards. doesnt work either
Prestige$TYPE<-as.numeric(levels(Prestige$type))
基本上,我想在type
中提取三个级别而不用手动重命名。
答案 0 :(得分:2)
类factor
的向量具有名为levels
的属性。 levels
函数作用于该属性,而不作为对载体本身。
library(car)
data(Prestige)
length(Prestige$type) # 102
levels(Prestige$type) # Notice that this has length 3.
如果您想要矢量的数值,请使用
as.numeric(Prestige$type)
bc
不是1
,prof
现在是2
,wc
现在是3
。
如果您需要重构该因素,请使用
factor(Prestige$type, 1:3, c("bc", "prof", "wc"))
但作为一般规则,除非您需要更改类别,否则最好不要改变您的因素。如果您需要数据下的数字代码,请创建一个新变量
Prestige$type_numeric <- as.numeric(Prestige$type)