我正在重命名数据帧中的大多数变量,而我的方法并没有给我留下深刻的印象。

因此,SO上的任何人是否有比下面介绍的仅使用基础的方法更聪明或更快速的方法?

    data(mtcars)
  # head(mtcars)


  temp.mtcars <- mtcars
  names(temp.mtcars) <- c((x <- c("mpg", "cyl", "disp")),
                           gsub('^', "baR.", setdiff(names (mtcars),x)))
  str(temp.mtcars)
  'data.frame': 32 obs. of  11 variables:
   $ mpg     : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
   $ cyl     : num  6 6 4 6 8 6 8 4 4 6 ...
   $ disp    : num  160 160 108 258 360 ...
   $ baR.hp  : num  110 110 93 110 175 105 245 62 95 123 ...
   $ baR.drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
   $ baR.wt  : num  2.62 2.88 2.32 3.21 3.44 ...
   $ baR.qsec: num  16.5 17 18.6 19.4 17 ...
   $ baR.vs  : num  0 0 1 1 0 1 0 1 1 1 ...
   $ baR.am  : num  1 1 1 0 0 0 0 0 0 0 ...
   $ baR.gear: num  4 4 4 3 3 3 3 4 4 4 ...
   $ baR.carb: num  4 4 1 1 2 1 4 2 2 4 ...

最佳答案

我会使用ifelse

names(temp.mtcars) <- ifelse(names(mtcars) %in% c("mpg", "cyl", "disp"),
                             names(mtcars),
                             paste("bar", names(mtcars), sep = "."))

关于r - R:重命名数据框中的变量子集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10662314/

10-12 18:48