【发布时间】:2018-06-13 18:51:33
【问题描述】:
我想将我的data.frame 中的变量名称从例如更改为“pmm_StartTimev4_E2_C19_1”到“pmm_StartTimev4_E2_C19”。因此,如果名称以下划线结尾,后跟任意数字,它将被删除。
但我希望只有在变量名称中包含“Start”一词时才会发生这种情况。
我有一段混乱的代码无法运行。任何帮助,将不胜感激!
# Current data frame:
dfbefore <- data.frame(a=c("pmm_StartTimev4_E2_C19_1","pmm_StartTimev4_E2_E2_C1","delivery_C1_C12"),b=c("pmm_StartTo_v4_E2_C19_2","complete_E1_C12_1","pmm_StartTo_v4_E2_C19"))
# Desired data frame:
dfafter <- data.frame(a=c("pmm_StartTimev4_E2_C19","pmm_StartTimev4_E2_E2_C1","delivery_C1_C12"),b=c("pmm_StartTo_v4_E2_C19","complete_E1_C12_1","pmm_StartTo_v4_E2_C19"))
# Current code:
sub((.*{1,}[0-9]*).*","",grep("Start",names(df),value = TRUE)
【问题讨论】:
-
sub("_\\d$", ""
标签: r regex string-substitution