根据 R 中的分隔符交换变量名

interchange variable names based on a separator in R

我有变量名

Sales_Ab Cost_Bcfg Revenue_Cshsh

我希望输出数据看起来像

Ab_Sales Bcfg_Cost Cshsh_Revenue

我知道 sub 和 gsub 可以以某种形式使用,但我不精通编写该代码所需的确切技术。

我们使用sub来匹配第一个单词,捕获为一组((\w+))后跟一个_然后捕获下一个单词((...)) , 将其替换为反向引用。在这里,我们将反向引用的顺序切换为第二个反向引用,然后是 _,然后是第一个。

sub("(\w+)_(\w+)", '\2_\1', v1)
#[1] "Ab_Sales"      "Bcfg_Cost"     "Cshsh_Revenue"

数据

v1 <- c('Sales_Ab',  'Cost_Bcfg', 'Revenue_Cshsh')