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

如何在R语言expss包中选择以特定字符(如Q4)开头的行列变量?

在expss中批量选择以指定字符开头的变量(替代手动列名)

expss完全兼容tidyselect风格的变量选择器,无需手动罗列所有以"Q4"开头的变量,直接在tab_cells中使用starts_with()即可实现需求。

直接使用tidyselect选择器的实现代码

library(expss)
library(tidyselect) # 确保选择器函数正常可用

# 创建示例数据
data <- data.frame(Q1 = c(1, 2, 3),
                   Q4a = c(3, 4, 5),
                   Q4b = c(6, 7, 8))

# 批量选择Q4开头的变量并计算均值
data %>% 
    tab_cells(starts_with("Q4")) %>%
    tab_cols(total()) %>% 
    tab_stat_fun(Mean = w_mean) %>%
    tab_pivot()

其他可选实现方式

如果需要先对变量做筛选再制表,也可以先通过select提取目标变量,再用everything()传入tab_cells:

data %>% 
    select(starts_with("Q4")) %>%
    tab_cells(everything()) %>%
    tab_cols(total()) %>% 
    tab_stat_fun(Mean = w_mean) %>%
    tab_pivot()

扩展:复杂变量名匹配

如果需要用正则表达式做更精准的匹配(比如匹配以Q4开头且后续为字母/数字的变量),可以使用matches():

tab_cells(matches("^Q4[a-z0-9]"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 20:55:08