【发布时间】:2016-09-15 07:31:32
【问题描述】:
在我正在构建的闪亮应用程序中,我有两个数据帧,它们是主数据帧的子集,我通过数据表呈现数据。从this 示例中获取线索,我创建了两个数据表输出和一个文本输出。虽然数据表和文本输出呈现没有任何问题,但从第一个数据表获取输入的第二个数据表正在抛出错误。两个数据帧的可重现示例如下。第一个标记为df,第二个标记为dfa
df的可重现数据:
structure(list(MediaType = c("BILLBOARDS", "BILLBOARDS", "MALL FACADES",
"BUS SHELTER", "WALL GRAPHICS"), Rental = c(62500, 160000, 240000,
112000, 210000), Sizeinsq = c(800, 200, 200, 108, 400)), .Names = c("MediaType",
"Rental", "Sizeinsq"), row.names = c("BrandA", "BrandB", "BrandC",
"BrandD", "BrandE"), class = "data.frame")
第二个数据框dfa:
structure(list(Client = c("BrandA", "BrandB", "BrandC", "BrandD",
"BrandE"), MediaType = c("BILLBOARDS", "BILLBOARDS", "MALL FACADES",
"BUS SHELTER", "WALL GRAPHICS"), Rental = c(62500, 160000, 240000,
112000, 210000), Sizeinsq = c(800, 200, 200, 108, 400)), .Names = c("Client",
"MediaType", "Rental", "Sizeinsq"), row.names = c(NA, 5L), class = "data.frame")
代码:
library(shiny)
runApp(list(
ui = bootstrapPage(
dataTableOutput("x1"),
verbatimTextOutput("t1"),
dataTableOutput("x2")
),
server = function(input, output){
output$x1 = renderDataTable(
df, server = TRUE, rownames = TRUE
)
output$t1 <- renderPrint({
s <- input$x1_rows_selected
if(length(s)){
cat(s)
}
})
output$x2 <- renderDataTable(
s <- input$x1_rows_selected
if(length(s)){
k <- dfa[dfa$Client %in% s, ]
k
}
)
}
))
我收到括号错误或某些“args”不匹配错误。
第一个数据表和文本输出完美呈现,而第二个数据表则没有。我尝试了很多选项,例如在 renderDataTable 前面使用 DT(当然是在添加库(DT)之后)。我尝试将 verbatimTextOutput 转换为 textInput 并假设我可以使用此输入来呈现第二个数据表。我尝试使用 textOutput 选项并尝试取值。但似乎没有任何帮助。
本质上,我想根据第一个数据框的行名对第二个数据框进行子集化。
我的会话信息:
R version 3.2.0 (2015-04-16)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.10.3 (Yosemite)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] htmltools_0.3 leaflet_1.0.0 data.table_1.9.4
[4] markdown_0.7.7 reshape2_1.4.1 lazyeval_0.1.10
[7] tidyr_0.3.1 zoo_1.7-12 shinyjs_0.6
[10] shinyBS_0.61 shinydashboard_0.5.1 plotly_3.4.13
[13] ggplot2_2.1.0 dplyr_0.4.3 DT_0.1
[16] shiny_0.13.2 RMySQL_0.10.8 DBI_0.3.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.3 plyr_1.8.3 base64enc_0.1-3 viridis_0.3.2
[5] tools_3.2.0 digest_0.6.9 jsonlite_0.9.19 gtable_0.1.2
[9] lattice_0.20-33 yaml_2.1.13 parallel_3.2.0 gridExtra_2.0.0
[13] stringr_1.0.0 httr_1.1.0 htmlwidgets_0.5 grid_3.2.0
[17] R6_2.1.2 magrittr_1.5 scales_0.3.0 assertthat_0.1
[21] mime_0.4 xtable_1.7-4 colorspace_1.2-6 httpuv_1.3.3
[25] stringi_1.0-1 miniUI_0.1.1 munsell_0.4.3 chron_2.3-47
【问题讨论】: