【发布时间】:2020-01-29 06:32:57
【问题描述】:
我有一个 df,我想提取 './' 和 '.v8' 之间的组织名称 所以对于这个df,结果将是一个只有“甲状腺”、“食道肌肉”、“脂肪”的列
gene<-c("ENSG00000065485.19","ENSG00000079112.9","ENSG00000079112")
tissue<-c("./Thyroid.v8.signif_variant_gene_pairs.txt.gz","./Esophagus_Muscularis.v8.signif_variant_gene_pairs.txt.gz","./Adipose_Subcutaneous.v8.signif_variant_gene_pairs.txt.gz")
df<-data.frame(gene,tissue)
我真的很纠结于正则表达式并尝试过:
pattern="/.\(.*)/.v8(.*)"
result <- regmatches(df$tissue,regexec(pattern,df$tissue))
但我明白了:
错误:'(' 是字符串开头的无法识别的转义 ""/.("
【问题讨论】:
-
qdapRegex::ex_between(df$tissue, "/", ".v8") -
我如何使它成为一列字符串而不是列表??
-
unlist他们,unlist(qdapRegex::ex_between(df$tissue, "/", ".v8"))
标签: r