You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以最简方式获取R语言中多水平因子的名称?

获取数据框中多水平因子的名称(最短实现方式)

示例数据

mtcars <- mtcars
# 创建单水平因子
mtcars$vs <- 1
mtcars$vs <- as.factor(mtcars$vs)
# 创建双水平因子
mtcars$am <- as.factor(mtcars$am)

需求

提取数据框中所有具有多个水平的因子的名称,预期结果为仅包含"am"的字符向量。

最短实现代码

names_of_factors_with_more_lvls <- names(mtcars)[sapply(mtcars, \(x) is.factor(x) && nlevels(x) > 1)]

代码说明

  • 用sapply遍历数据框的每一列,通过匿名函数\(x)判断当前列是否为因子类型且水平数大于1,返回一个逻辑向量。
  • 借助这个逻辑向量从names(mtcars)中筛选出符合条件的列名。

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 18:12:29