提取变量名的一部分以便在函数中使用

问题描述 投票:1回答:2

我有一个对象res_list,它包含我想用函数提取的数据。

res_list $具有以下可能性:Cearly,Rearly,Clate,Rlate,Cfollow,Rfollow。

我想创建一个函数,通过利用我在R中创建的数据对象的“名称”,以迭代的方式从所有不同的res_list $可能性中提取数据。

这些对象的名称如下:

signi_BTM_Cearly2
signi_BTM_Clate2
.
.
.
signi_BTM_Rfollow2

基本上,我只是想告诉我正在创建的函数只采用“Cearly”,“Clate”,......“Rfollow”表名的一部分。所以我可以检索我需要的数据。

我知道这是一个非常简单的任务,我无法弄明白。

谢谢大家的时间,

r regex function
2个回答
1
投票

以下简单使用gsub也可以帮到你。

val3<-c("signi_BTM_Cearly2","signi_BTM_Clate2")
gsub(".*_|\\d+$","",val3)

输出如下。

[1] "Cearly2" "Clate2"

0
投票

我们可以使用sub来捕获_之后的字符,然后是字符串末尾的一个或多个数字(\\d+),并替换为捕获组的反向引用($

\\1

data

sub(".*_([A-Za-z]+)\\d+$", "\\1", str1)
#[1] "Cearly"  "Clate"   "Rfollow"
© www.soinside.com 2019 - 2024. All rights reserved.