2016-07-05 123 views
1

是否有命令查看分类变量是如何编码的?R类别变量值

例如,我有一个名为HbA1c的变量,我看到的类别是< 5.7和> = 5.7。我想知道什么值< 5.7和≥= 5.7(如果它是0或1或2)。我需要回归分析。

对不起,如果这个问题已被解决,但我无法找到帖子。

预先感谢您。

回答

3

如果x因素(技术在R A分类变量名),然后levels(x)给你为了水平,所以像

setNames(1:length(levels(f)),levels(f)) 
## a b c 
## 1 2 3 

会给你一个对应表。

您的评论的问题并不完全清楚,但如果你想运行具有从零开始数值的回归,我会尝试这样的:

mydata$n <- as.numeric(mydata$f)-1 

(与因素相关的数字代码总是从1运行到N;这会给你一个从0到N-1运行的数字变量)。然后你可以运行回归是这样的:

lm(y~n,data=mydata) 
+0

我用下面的命令:'名称(1:长度(水平(DAT1 $ HbA1ckatnorm)),层次(DAT1 $ HbA1ckatnorm))',我也得到一个表它显示的水平为'1 2'。如果我现在想重新编码这个变量,我使用'library car'中的'recode'函数。我的代码看起来像'recode(dat1 $ HbA1ckatnorm,“'1'='0';'2'='1'”)'但我得到一个错误显示'级别:<5.7 > = 5.7',当然,重新编码功能不起作用。 –