2016-10-29 3 views
0

У меня есть объект с именем «map_choice», значение которого может быть: «1_1», «1_2», «1_3» ... И я создал некоторые объекты фреймов данных в моем глобальная среда с именем: «T_1_1», «T_1_2», «T_1_3» ... Я пытаюсь отобразить соответствующий кадр данных с этими строками в моем сервере. R, но у меня есть это сообщение об ошибке: «Данные должны быть 2-мерная (например, кадр данных или матрица)»R shiny: renderDataTable объекта глобальной среды

Server.R:

output$tab_map = renderDataTable({paste(T_,map_choice)}) # paste to 
               match data frame name 

output$box1 <- renderUI({ 
box(title = input$maps, dataTableOutput("tab_map")) # dynamic title of 
                   the box 
}) 

И эта линия в Ui.R:

uiOutput("box1") 

Я полагаю, что это непростая задача, но мне это не удалось.

Благодарим вас за помощь новичку.

ответ

0

Что вам нужно, это get. Также убедитесь, что вы используете paste0

output$tab_map = renderDataTable({ 
    get(paste0("T_",map_choice)) 
}) 
+0

Отлично! Еще раз спасибо Warmoverflow. Я не знал, что есть инструкция «paste0». Мне, должно быть, пришлось посмотреть документацию, извините, но я бы никогда не знал, что такое «получить». Большое спасибо. –

Смежные вопросы