#r #rlang
#r #rlang
Вопрос:
Создавать переменные легко:
`a b` <- 1
`c d` <- 2
или альтернативно:
`<-`("a b", 1)
`<-`("c d", 2)
Здесь у меня есть вектор имен переменных x <- c("a b", "c d")
, но я пытаюсь присвоить 1
`a b`
с помощью
`<-`(x[1], 1)
но это переводится в x[1] <- 1
, а не `a b` <- 1
.
Я пытался
`<-`(get(x[1]), 1)
и
library(rlang)
`<-`(expr(!!x[1]), 1)
но ничего из этого не работает. Есть идеи?
Комментарии:
1. Не входите в привычку создавать символы, которые не являются допустимым синтаксисом.
2. Не могли бы вы, пожалуйста, уточнить, какие символы недействительны?
3. Все символы, которые необходимо заключить в кавычки, например, символы, содержащие пробел.
4. Да, символы с пробелами нестандартны, но я бы не сказал, что они недопустимы (иначе они не будут выполняться). Я использую это, чтобы заставить всплывающие подсказки my
plotly
работать должным образом.
Ответ №1:
Использование assign
:
assign(x[1], 1)
`a b`
#[1] 1