Заменить символы в именах столбцов gsub

Я читаю в группе CSV, в названии которой есть такие слова, как «продажи - тысячи», а в R они обозначаются как «продажи ... тысячи». Я хотел бы использовать регулярное выражение (или другой простой метод), чтобы очистить их.

Я не могу понять, почему это не работает:

#mock data
  a <- data.frame(this.is.fine = letters[1:5],
                  this...one...isnt = LETTERS[1:5])

#column names
  colnames(a)
  # [1] "this.is.fine"  "this...one...isnt"

#function to remove multiple spaces
  colClean <- function(x){
    colnames(x) <- gsub("\\.\\.+", ".", colnames(x))
  }

#run function
  colClean(a)

#names go unaffected
  colnames(a)
  # [1] "this.is.fine"  "this...one...isnt"

но этот код делает:

#direct change to names
  colnames(a) <- gsub("\\.\\.+", ".", colnames(a))

#new names
  colnames(a)
  # [1] "this.is.fine"  "this.one.isnt"

Обратите внимание, что я в порядке, оставляя один период между словами, когда это происходит.

Спасибо.

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

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