【问题标题】:R CATEGORICAL VARIABLE VALUER 分类变量值
【发布时间】:2016-07-05 11:33:51
【问题描述】:

是否有命令查看分类变量的编码方式?

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

很抱歉,如果这个问题已经得到解决,但我无法找到该帖子。

提前谢谢你。

【问题讨论】:

    标签: r


    【解决方案1】:

    如果x 是一个因素(R 中分类变量的技术名称),那么levels(x) 会按顺序为您提供级别,所以类似于

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

    会给你一个对应表。

    您在 cmets 中的问题并不完全清楚,但如果您想使用从零开始的数值运行回归,我会尝试类似:

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

    (与因子相关的数字代码始终从 1 到 N;这为您提供了一个从 0 到 N-1 的数字变量)。然后你可以像这样运行回归:

    lm(y~n,data=mydata)
    

    【讨论】:

    • 我使用了以下命令:Names(1:length(levels(dat1$HbA1ckatnorm)),levels(dat1$HbA1ckatnorm)),我得到一个表格,其中显示级别为1 2。如果我现在想重新编码变量,我使用来自library car 的recode 函数。我的代码看起来像 recode(dat1$HbA1ckatnorm, "'1'='0';'2'='1'"),但我收到显示 Levels: &lt;5.7 &gt;= 5.7 的错误,当然,重新编码功能不起作用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    相关资源
    最近更新 更多