Проблема в том, что length
из names
не соответствует количеству столбцов «данных». Согласно ?set_names
set_names (x, nm = x, ...)
x- Vector to name.
... - Векторимена, той же длины, что и x.
Поскольку для этого требуется тот же length
, и здесь это не так, он выдает ошибку.
Один из вариантов - использовать rename_at
. Если мы знаем индекс положения столбца или имена столбцов, передайте его в vars
из rename_at
и измените имена столбцов
library(dplyr)
data %>%
rename_at(seq_len(length(names)), ~ names)