重命名 R 中的变量列

Renaming variable column in R

所以这是一个数据框

a<-data.frame(Brand=c("X","Y","Z","d"),Month=1:4,TRP_A=6:9,TRP_B=7:10,TRP_C=10:7)

在自定义函数中,我需要 select TRP_A、TRP_B 或 TRP_C 之一,这将是函数

中的参数 TRP

所以假设我向下调用该函数并作为参数 TRP 输入 5,因此将选择列 TRP_C。但它将被命名为 TRP_C 我需要进一步参考它,例如如果我想对列的总和求和。

我需要将 TRP_C 重命名为通用名称,例如 Target,因为下次我可能会使用 TPR_B 左右...但我不知道该怎么做,因为重命名功能需要传递原名。

    aff<-function(brand,TRP) {

      a<-a%>%select(Brand,Month,TRP)

      total<-a%>%summarise(total=sum(TRP))
      total
    }

aff("X",5)

尝试

 aff <- function(brand, TRP1){ 
        a %>%
         filter(Brand==brand) %>%
         select(Brand, Month, TRP1) %>% 
         setNames(., c('Brand', 'Month', 'TRP')) %>% 
         summarise(Total=sum(TRP)) }

或者我们可以将 setNames 行更改为

aff <- function(brand, TRP1){ 
              a %>%
              filter(Brand==brand) %>%
              select(Brand, Month, TRP1) %>% 
              setNames(., sub('\_.*', '', names(.))) %>%
              summarise(Total = sum(TRP))}