r - 从数据框中获取因子水平作为整数

标签 r

给定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"
    ))

我如何获得此数据框级别的所有整数,它只有一行?

最佳答案

您可以在nlevels上使用seq_len

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

unique 返回的整数 unclass

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

关于r - 从数据框中获取因子水平作为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63700541/

相关文章:

r - 从R(没有任何软件包)以HDFS写入的最快方法

r - 将 df 转换为协作网络的边 df

r - 查找 dplyr 中当前变异变量的最大值

r - 使用 dplyr 进行多组汇总

performance - 子集数据帧的最有效方法

将列表对象中的 NaN/Inf/NA 替换为 0

r - 如何替换R中其他数据集的值?

javascript - R中的htmlwidgets中没有图形输出

r - 在 r 中将元素从一列移动到另一列

r - 无法使 Shiny 模块与 valueBox 一起使用