Я создаю блестящее приложение, и я хотел бы извлечь имя векторного значения из списка для использования в заголовке графика.
У меня есть этот список с именами переменных:
vars <- list(
acidentes = c("Veículo" = "veic", "Tipo de acidente" = "tipo_acid",
"# ciclistas" = "ciclistas"),
vitimas = c("Sexo" = "sexo", "Idade" = "idade"),
tempo = c("Ano" = "ano", "Mes" = "mes", "Dia da semana" = "dia_semana",
"Hora do dia" = "hora_dia", "Período do dia" = "periodo_dia"),
geo = c("Distritos" = "distritos")
)
vars
$acidentes
Veículo Tipo de acidente # ciclistas
"veic" "tipo_acid" "ciclistas"
$vitimas
Sexo Idade
"sexo" "idade"
$tempo
Ano Mes Dia da semana Hora do dia Período do dia
"ano" "mes" "dia_semana" "hora_dia" "periodo_dia"
$geo
Distritos
"distritos"
Внутри блеска моя попытка была:
l <- names(vars[vars == input$variavel])
n <- names(vars[[l]])[vars[[l]] == input$variavel]
tit <- paste("Taxa média de fatalidade, por", n)
Я не могу понять почему, но это работает, когда я выбираю переменную distritos, а не другую.
Если я запускаю этот код вне блестящей среды с "distritos", я получаю это:
l <- names(vars[vars == "ano"])
n <- names(vars[[l]])[vars[[l]] == "distritos"]
paste("Taxa média de fatalidade, por", n)
[1] "Taxa média de fatalidade, por Distritos"
Но если я вызываю другую переменную, например, "anos", она не работает.
l <- names(vars[vars == "anos"])
n <- names(vars[[l]])[vars[[l]] == "anos"]
Error in vars[[l]] : attempt to select less than one element in get1index
Я пытался использовать vars[vars == "anos"]
и vars[vars %in% "anos"]
, и результат тот же.Работает для "distritos", но не для другой переменной.
Почему это не работает?У кого-нибудь есть идеи о том, как запустить это?
Извините за мой английский и большое спасибо, заранее.