Использование переменных векторов для переименования фрейма данных

#r #variables #character

#r #переменные #символ

Вопрос:

Итак, у меня есть следующий вектор:

 name <- c(5, 10, 12, 13, 24)
  

и я хочу использовать его для переименования моего фрейма данных:

 FINAL <- data.frame("Group" = GROUP_vector, 
                "min_name[1]" = min_1, 
                "min_name[2]" = min_2,
                "min_name[3]" = min_3, 
                "min_name[4]" = min_4,
                "min_name[5]" = min_5)
  

Конечно, я получаю это в результате:

 Group min_name.1. min_name.2. min_name.3. min_name.4. min_name.5.
1      1         150          90         116         152         182
2      2         164          96         122         154         203
3      3         171          95         125         155         202
4      4         169          98         131         154         203
5      5         162          79         101         160         191
6      6         169          97         128         156         204
7      7         167          95         125         156         204
  

Но мне нужно это:

 Group min_5 min_10 min_12 min_13 min_24
  

Есть ли какое-либо быстрое решение?

Комментарии:

1. Использование setNames(out, c("Group", paste0("min_", name)))

2. Какой код вы используете для rename ??

3. Извините, я был не очень точен: я не переименовывал фрейм данных, я его создавал! Есть ли способ сделать это, создав фрейм данных?

4. Создайте его, затем переименуйте. Что в этом плохого?

5. Если вы действительно хотите все это сразу, as.data.frame(setNames(list(GROUP_vector, min_1, min_2, ..., min_5), c("Group", paste0("min_", name)))) сработает. Но создать его, а затем задать имена, кажется гораздо более читаемым.

Ответ №1:

Вам подходит что-то подобное?

 name <- c(5, 10, 12, 13, 24)
name2 <- paste("min_",name,sep="")
var1<-c(1,2)
var2<-c(2,3)
var3<-c(3,4)
var4<-c(4,5)
var5<-c(5,6)
df <- data.frame(var1,var2,var3,var4,var5)
colnames(df) <- name2