【问题标题】:Converting binary categorical variable to 0's and 1's将二进制分类变量转换为 0 和 1
【发布时间】:2021-03-11 14:41:44
【问题描述】:

我有一个数据集,其中结果变量是二元分类变量“诊断”,即肿瘤类型:“良性”或“恶性”。

将变量转换为数字时(“良性”=0 和“恶性”=1)我使用代码:

tumor.df <- fread("df.csv", stringsAsFactors = T)
tumor.df$diagnosis = as.numeric(tumor.df$diagnosis, levels=c('benign', 'malignant'), labels=c(0, 1))

但是,诊断不是转换为 0 和 1,而是转换为 1 和 2。 为什么会这样?

【问题讨论】:

    标签: r label numeric categorical-data levels


    【解决方案1】:

    因为 R 将因子存储为一组基础整数代码(从 1 开始)和一组相关标签。

    我会说你应该继续从你得到的值中减去一个。还有许多其他方法可以进行转换,它们的效率和可读性各不相同。另一种选择是 as.numeric(tumor.df$diagnosis=="malignant")(R 将 FALSE 转换为 0,TRUE 转换为 1)

    【讨论】:

      猜你喜欢
      • 2013-04-08
      • 2018-03-17
      • 1970-01-01
      • 2013-01-09
      • 2023-02-13
      • 2013-11-13
      • 1970-01-01
      • 1970-01-01
      • 2017-07-12
      相关资源
      最近更新 更多