Что я пытаюсь сделать, это установить имя элемента списка динамически в R, из предопределенной строки и используя нестандартную оценку.
См. Пример ниже:
library(rlang)
dynamic.listname <- "important.name"
# this works (as was also demonstrated in the answer to this related question: https://stackoverflow.com/questions/35034384/dynamically-creating-named-list-in-r ):
list.to.display <- list(1,2,3)
names(list.to.display) <- c("first.fixed.name", dynamic.list.name, "second.fixed.name")
# But I would like something like this to work
list.to.display <- list(
"first.fixed.name" = 1,
!!dynamic.listname := 2,
"second.fixed.name" = 3
)
# it gives the following error:
# Error: `:=` can only be used within a quasiquoted argument
Я основал приведенный выше код на примере Tidyverse, последний абзац "Установка имен переменных" на этом веб-сайте: https://dplyr.tidyverse.org/articles/programming.html
Таким образом, 'dynamici c .listname' должен сначала оцениваться как строка, которая хранилась внутри этой переменной. Затем эта строка должна быть реализована как одно из имен в списке. Кто-нибудь знает, как реализовать нестандартную оценку в этой ситуации? База R тоже хорошо для меня. Причина, по которой я хотел бы использовать другие опции, которые в настоящее время еще не работают, заключается в том, что список, который я хочу использовать, встроен в специальную c функцию пакета и, следовательно, немного сложен для манипулирования извне. Кроме того, я пытаюсь узнать больше о нестандартной оценке.