#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