Adicionando prefixo ou sufixo à maioria dos nomes de variáveis data.frame no fluxo de trabalho R canalizado

Quero adicionar um sufixo ou prefixo à maioria dos nomes de variáveis em um data.frame, normalmente depois que todos foram transformados de alguma forma e antes de realizar uma junção. Não tenho como fazer isso sem interromper minha tubulação.

Por exemplo, com esses dados:

library(dplyr)
set.seed(1)
dat14 <- data.frame(ID = 1:10, speed = runif(10), power = rpois(10, 1),
                    force = rexp(10), class = rep(c("a", "b"),5))

Eu quero chegar a este resultado (observe os nomes das variáveis):

  class speed_mean_2014 power_mean_2014 force_mean_2014
1     a       0.5572500             0.8       0.5519802
2     b       0.2850798             0.6       1.0888116

Minha abordagem atual é:

means14 <- dat14 %>%
  group_by(class) %>%
  select(-ID) %>%
  summarise_each(funs(mean(.)))  

names(means14)[2:length(names(means14))] <- paste0(names(means14)[2:length(names(means14))], "_mean_2014")

Existe uma alternativa para aquela última linha desajeitada que quebra meus canos? Eu olheiselect() erename() mas não quero especificar explicitamente o nome de cada variável, pois geralmente quero renomear todosexceto uma única variável e pode ter um data.frame muito mais amplo do que neste exemplo.

Estou imaginando um comando final canalizado que se aproxima dessa função inventada:

appendname(cols = 2:n, str = "_mean_2014", placement = "suffix")

O que não existe até onde eu sei.

questionAnswers(6)

yourAnswerToTheQuestion