我有一个对象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”部分。这样我就可以检索所需的数据。
我知道这是一个非常简单的任务,我只是想不通。
谢谢大家的时间,
答案 0 :(得分:1)
简单地使用gsub
可能也会在这里为您提供帮助。
val3<-c("signi_BTM_Cearly2","signi_BTM_Clate2")
gsub(".*_|\\d+$","",val3)
输出如下。
[1] "Cearly2" "Clate2"
答案 1 :(得分:0)
我们可以使用sub
捕获_
之后的字符作为一个组,然后在末尾(\\d+
)处捕获一个或多个数字($
)。字符串并替换为捕获组的后向引用(\\1
)
sub(".*_([A-Za-z]+)\\d+$", "\\1", str1)
#[1] "Cearly" "Clate" "Rfollow"
str1 <- c("signi_BTM_Cearly2", "signi_BTM_Clate2", "signi_BTM_Rfollow2")