Я хотел бы использовать значения этой последовательности seq
для переименования столбцов x1
в x10
фрейма данных df
.
последовательность - имена переменных, которые будут использоваться
var_names<-seq(10, 23.5, 1.5)
фрейм данных, где все переменные, начинающиеся с x
, должны быть переименованы в значения последовательности var_names
df =
data.frame( x1 = rlnorm(10000), x2 = rlnorm(10000), x3 = rlnorm(10000), x4 = rlnorm(10000), x5 = rlnorm(10000), x6 = rlnorm(10000), x7 = rlnorm(10000), x8 = rlnorm(10000), x9 = rlnorm(10000), x10 = rlnorm(10000))
моя попытка
df_renamed <- apply(df, 2, function(x) data.table::setnames(df, old=colnames(x), new=var_names))
## Error in data.table::setnames(df, old = colnames(x), new = var_names) :
## 'new' is not a character vector
ожидаемый результат
В выходном кадре данных я хочу заменить имена переменных x1 на 10, x2 на 11,5, x3 на 13, x4 на 14,5, x5 на 16, x6 на 17,5, x7 на 19,x8 на 20,5, x9 на 22, x10 на 23,5.
Хотя эту замену имен переменных можно выполнить индивидуально, используя this и другие подходы, когда столбцов всего несколько, я хочуфункция, которая эффективно выполняет работу с большими наборами данных, используя непосредственно последовательность var_names
и используя тот факт, что все переменные, которые должны быть переименованы, начинаются с x
.