所以我有这样的数据帧...DataTable中选择行
df1 <- read.table(text="
Project Counts Inventory
A 25 100
B 20 120
C 10 50
",header=TRUE,stringsAsFactors = FALSE)
这个数据帧....
df2 <- read.table(text="
Project Sub_Project Counts Date
A 1 5 2017-05-01
A 2 10 2017-05-01
A 2 10 2017-06-01
B 1 40 2017-05-01
B 1 20 2017-06-01
B 1 20 2017-07-01
B 2 40 2017-05-01
C 1 15 2017-05-01
C 1 35 2017-06-01
",header=TRUE,stringsAsFactors = FALSE)
在晴朗的使用library(DT)
和library(ggplot2)
闪亮的表现从另一个表中的数据我在制作一个renderDataTable
的df1
,它允许你选择每一行,并且当每一行被选中时,它开始显示另一个数据表。我想要做的是,当我点击df1
中的一行时,所呈现的新数据表将给我一个df2
的子集,仅显示所选项目的信息,总结计数并仍然按Sub_Project组织它们,像这样(如果你点击的df1
项目A:
df3 <-read.table(text="
Project Sub_Project Counts
A 1 5
A 2 20
",header=TRUE,stringsAsFactors = FALSE)
的什么,我试图做作品的实际功能,我只是不知道如何编程逻辑我想要什么?这里是我的整个应用程序
library(shiny)
library(shinydashboard)
library(ggplot2)
library(DT)
df1 <- read.table(text="
Project Counts Inventory
A 25 100
B 20 120
C 10 50
",header=TRUE,stringsAsFactors = FALSE)
df2 <- read.table(text="
Project Sub_Project Counts Date
A 1 5 2017-05-01
A 2 10 2017-05-01
A 2 10 2017-06-01
B 1 40 2017-05-01
B 1 20 2017-06-01
B 1 20 2017-07-01
B 2 40 2017-05-01
C 1 15 2017-05-01
C 1 35 2017-06-01
",header=TRUE,stringsAsFactors = FALSE)
ui <- dashboardPage(
dashboardHeader(title = 'Dashboard'),
dashboardSidebar(),
dashboardBody(
tabsetPanel(
tabPanel('Sequencing',
fluidRow(
column(12,
dataTableOutput('project_table'),
dataTableOutput('subproject_table'))
)
)
)
)
)
server <- function(input, output) {
output$project_table <- renderDataTable(df1, options = list(pageLength = 10))
output$subproject_table <- renderDataTable({
s = input$project_table_rows_selected
if(length(s)) df1[s, , drop=FALSE]})
}
shinyApp(ui, server)
在'df3'中,'counts' 20似乎来自'df2'上的'Project'为'B'的那一行 – akrun
@akrun它没有做什么是总结项目中相同Sub_Project的计数答:所以它忽略了日期信息,并保留由项目组织的'df1',然后通过类似的Sub_Projects汇总计数... – Naji