请,我想通过删除年份标签来重命名我的表格的列。这是我的专栏名称:
"PROV_201601" "MNT_201602" "PROV_201612" .... and so on !
我的目标是从列名中删除“2016”。我只熟悉R但不熟悉正则表达式。
任何帮助表示赞赏!
谢谢。
答案 0 :(得分:3)
我们可以尝试使用sub
将_
捕获作为一个组匹配,后跟四个数字(\\d{4}
),并替换为捕获的组的反向引用(\\1
)或使用_
sub("(_)\\d{4}", "\\1", v1)
#[1] "PROV_01" "MNT_02" "PROV_12"
如果具体到2016年那么
sub("2016", "", v1)
#[1] "PROV_01" "MNT_02" "PROV_12"
v1 <- c("PROV_201601", "MNT_201602", "PROV_201612")
答案 1 :(得分:2)
首先,使用sub()
将"2016"
的所有实例替换为""
。这将从字符串中消除2016年。
col1 <- c("PROV_201601", "MNT_201602", "PROV_201612")
col2 <- sub("2016", "", col1)
现在使用dat
重命名数据框names()
列:
names(dat) <- col2