You need to enable JavaScript to run this app. R语言定位向量b中CCN1元素及各a向量中CCN1的索引
优惠活动
大模型
产品
解决方案
定价
更多

R语言定位向量b中CCN1元素及各a向量中CCN1的索引

R语言查询字符串包含与分割后索引的实现

首先给出你提供的原始数据代码:

a1 <- c("COL8A1/PRG4/DPT/ASPN/PODN/CCN1/BGN/MXRA5/MGP/COL16A1/MFAP5/THBS1/MATN2/AEBP1/MFAP4/SRPX/COL14A1/FGL2/ABI3BP/THBS2/LAMA4/COL8A2/FMOD/CTHRC1/COL12A1/OGN/PRELP/LTBP2/ANOS1")
a2 <- c("DPYSL3/CTSG/CCN5/CCN1/BGN/PCOLCE2/SLIT2/CCDC80/RSPO3/CFH/LYVE1/SFRP1/SLIT3/THBS1/SULF1/GPNMB/CCN2/SELP/THBS2/SPOCK2/RSPO1/PRELP/TGFBR3/LTBP2/LPL/HBEGF/ANOS1/NRP2/TGFBR2/CLEC3B/LXN/THBS4/SERPINE2/POSTN")
a3 <- c("CTSG/CCN5/CCN1/PCOLCE2/SLIT2/CCDC80/RSPO3/CFH/SFRP1/SLIT3/THBS1/GPNMB/CCN2/SELP/THBS2/RSPO1/PRELP/TGFBR3/LTBP2/LPL/HBEGF/ANOS1/NRP2/CLEC3B/LXN/THBS4/SERPINE2/POSTN/COMP/FBLN7/ECM2/SMOC2/SOD3")
a4 <- c("PDLIM3/MYH11/CNN1/SORBS1/FLNC/MYOM1/NEXN/ADD2/MYOZ3/MYLK/TAGLN/SHANK3/SYNE3/GSN/FAM107A/COBLL1/AIF1/LMOD1/TPM2/FLNA/SNCA/SPTBN1/TNNT3/VASH2/GMFG/S100A4/ENC1/KLHL4/WASF3/LMOD3/CORO1C/HCLS1/ABLIM2/TPM1/CALD1/ABLIM3/LIMA1/SVIL/FXYD5/NOS3/TNS1/SMTN/PLS3/MYH10/ENAH/WAS/EPB41L2/PLEC/MYO18A/ANG/MYO1C/MAP1A/MYO1F/EPB41L3/MTSS1/MAP1B/SNTA1/DMD/CNN3/PKNOX2")
b <- c(a1,a2,a3,a4)

需求1:查询向量b中包含CCN1的元素

  • 实现代码:
# 获取包含CCN1的元素索引
which(grepl("CCN1", b))
# 直接提取包含CCN1的元素值
b[grepl("CCN1", b)]
  • 结果说明:返回的索引为1、2、3,对应b中存储的a1、a2、a3三个元素,a4不包含CCN1。

需求2:查询CCN1在a1/a2/a3/a4按/分割后的索引位置

  • 实现代码:
# 将四个向量存入列表方便批量处理
vec_list <- list(a1 = a1, a2 = a2, a3 = a3, a4 = a4)
# 批量计算每个向量分割后CCN1的索引
sapply(vec_list, function(x) {
  # 按/分割字符串为独立元素的向量
  split_items <- unlist(strsplit(x, split = "/"))
  # 返回CCN1的索引,不存在则返回空整数向量
  which(split_items == "CCN1")
})
  • 结果说明:返回结果为a1=6、a2=4、a3=3、a4=integer(0),和你手动核查的结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 19:06:01