Добавление префикса или суффикса к большинству имен переменных data.frame в рабочем потоке R

Я хочу добавить суффикс или префикс к большинству имен переменных в data.frame, обычно после того, как они все каким-то образом преобразованы и перед выполнением объединения. У меня нет способа сделать это, не сломав мой трубопровод.

Например, с этими данными:

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))

Я хочу получить к этому результату (обратите внимание на имена переменных):

  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

Мой текущий подход:

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")

Есть ли альтернатива этой неуклюжей последней строчке, которая разбивает мои трубы? Я смотрел наselect() а такжеrename() но я не хочу явно указывать каждое имя переменной, так как я обычно хочу переименовать всеКроме одна переменная и может иметь гораздо более широкий data.frame, чем в этом примере.

Я представляю окончательную пипетированную команду, которая приближает эту готовую функцию:

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

Которого не существует, насколько я знаю.

Ответы на вопрос(6)

Ваш ответ на вопрос