создать вектор в R, используя имена переменных - PullRequest
0 голосов
/ 22 мая 2018

У меня есть переменная с именем school_name

Я создаю вектор для определения цветов, которые я буду использовать позже в ggplot2.

colors <- c("School1" = "yellow", "School2" = "red", ______ = "Orange")

В своем коде я использую переменную school_name длянекоторая логика хочет добавить это как третий элемент моего вектора.Значение изменяется в цикле for и не может быть жестко запрограммировано.

Я пробовал следующее, но оно не работает.

colors <- c("School1" = "yellow", "School2" = "red", get("school_name") = "Orange")

Пожалуйста, кто-нибудь может мне помочь с этим

Ответы [ 3 ]

0 голосов
/ 22 мая 2018

Вы можете использовать structure:

school_name = "coolSchool"
colors <- structure(c("yellow", "red", "orange"), .Names = c("School1","School2", school_name))
0 голосов
/ 22 мая 2018

Это также работает:

school_name <- "school3"
colors <- c("School1" = "yellow", "School2" = "red")
colors[school_name] <- "Orange"
# School1  School2  school3 
# "yellow"    "red" "Orange" 
0 голосов
/ 22 мая 2018

Вы можете просто установить названия цветов, используя names():

colors <- c("yellow", "red", "orange")
names(colors) <- c("School1", "School2", school_name)
...