Заменить символы в именах столбцов 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"
Обратите внимание, что я в порядке, оставляя один период между словами, когда это происходит.
Спасибо.