【问题标题】:get levels of factor from dataframe as integers从数据框中获取因子级别作为整数
【发布时间】:2020-09-02 07:17:22
【问题描述】:

鉴于this,我知道:

因子以整数形式存储,并具有与这些唯一整数相关联的标签。

鉴于此:

gender <- factor(c("male", "female", "female", "male"))

我可以像这样获得等级:

levels(gender)
"female" "male" 

我可以做到:

as.numeric(gender)
2 1 1 2

将向量转换为数值向量。

我的问题是,我怎样才能完全根据数据框的元数据获得关卡的整数?以性别为例:

df <- data.frame(gender = "male")
df$gender <- factor(as.character(df$gender), ordered = FALSE, levels = c(
        "female"
        , "male"
    ))

我怎样才能获得这个只有一行的数据帧级别的所有整数?

【问题讨论】:

  • 可能是seq_len(nlevels(gender))unique(unclass(gender))

标签: r


【解决方案1】:

你可以在nlevels上使用seq_len

seq_len(nlevels(gender))
#[1] 1 2

uniqueunclass返回的整数

unique(unclass(gender))
#[1] 2 1

【讨论】:

    【解决方案2】:

    您可以在factorlevels 上使用seq_along

    seq_along(levels(df$gender))
    #[1] 1 2
    

    【讨论】:

      猜你喜欢
      • 2014-02-11
      • 1970-01-01
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 2021-06-10
      相关资源
      最近更新 更多