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

能否在dplyr的count函数中搭配表达式匹配函数使用

实现方案

你需要的功能可以直接通过字符串匹配函数实现,无需调用dplyr适配select的列匹配工具,两种常用实现方式如下:

  • 搭配tidyverse生态的stringr包实现(写法更易读)
    若仅需要统计匹配/不匹配X33开头的两类总数量,直接在count中传入匹配表达式即可:
    count(datasetName, str_starts(variableName, "X33"))
    
    若需要分别统计每一个X33开头的取值的对应数量,先筛选匹配项再计数即可:
    datasetName %>% 
      filter(str_starts(variableName, "X33")) %>% 
      count(variableName)
    
  • 使用base R内置函数实现,无需额外加载依赖包
    仅统计匹配/不匹配两类总数量:
    count(datasetName, grepl("^X33", variableName))
    
    分别统计每个匹配取值的数量:
    datasetName %>% 
      filter(grepl("^X33", variableName)) %>% 
      count(variableName)
    

原理说明:count的第二个参数支持传入任意合法的表达式作为分组依据,你当前的需求是匹配variableName列的单元格取值,而非匹配数据框的列名,因此不需要使用dplyr为select设计的列匹配函数,直接用通用字符串匹配函数即可实现需求。

内容的提问来源于stack exchange,提问作者Myke Araújo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 16:06:01