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

从竖线分隔代码列表提取项目主特征码的实现方法

解决方案(R语言)

首先定义输入的字符向量:

codes <- c("151", "510|130|130", "311|110", "140", "160|160", "160|160|130",
           "160", "160", "160", "151", "151", "160|110")

编写自定义函数处理单个字符串,提取主特征:

get_main_feature <- function(x) {
  # 按|拆分字符串为代码列表
  split_codes <- strsplit(x, "\\|")[[1]]
  # 统计每个代码的出现频次
  freq_table <- table(split_codes)
  # 获取最高频次
  max_count <- max(freq_table)
  # 筛选出频次最高的代码,若有多个则取第一个
  main_code <- names(freq_table)[freq_table == max_count][1]
  return(main_code)
}

将函数应用到整个向量,得到结果:

result <- sapply(codes, get_main_feature)
print(result)

运行后输出结果:

151 510|130|130   311|110       140   160|160 160|160|130 
     "151"      "130"      "311"      "140"      "160"      "160" 
      160       160       160       151       151   160|110 
     "160"      "160"      "160"      "151"      "151"      "160" 

逻辑说明

  • strsplit(x, "\\|"):由于|是正则特殊字符,用转义符\\拆分字符串
  • table():统计每个代码的出现次数,生成频次对照表
  • 筛选出频次等于最大值的代码并取第一个元素,满足“无占优代码时选第一个”的要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 17:17:15