我有一个data.frame,其中包含4列7行。下面是示例数据(列名称为大写,数据为小写)。
示例数据:
NAME. COUNT MONTH COUNTRY
ram 20. jan India
ranjith 40. jan India
azhar 80. feb India
chris 20 feb US
rakesh 60. jan US
mano. 90. mar. UK
Ron. 37. mar. uk
所以在ui.R
我创建了两个selectinputs
。一个是COUNTRY列,另一个是MONTH列。
当我选择第一个selectinput
作为印度,第二个选择输入为jan时,首先应在闪亮的应用中显示两行
作为x轴(即水平)的名称和y轴(即垂直)的COUNT,带条形图。
如果我在第一次选择输入中选择印度,然后在第二次选择输入中选择2月。现在只需要出现第三行,并提到x轴和y轴。同时,也需要为其他行生成结果。
如果选择COUNTRY
为UK
且MONTH
被选为jan
,则不应创建图表。因为我们没有英国和Jan组合的记录。
任何人都可以分享ui.R
和server.R
的代码吗?
答案 0 :(得分:0)
根据你所拥有的,你已经非常接近你想要的了。只需要reactive
函数动态捕获输入中的值并相应地渲染输出:
<强> ui.R 强>
require(shiny)
shinyUI(fluidPage(
titlePanel("sample data"),
sidebarPanel(
selectInput("COUNTRY", "select country", choices=c("India","US", "UK"), selected ="India"),
radioButtons("MONTH","select MONTH", choices=c("jan","feb"))
),
mainPanel(plotOutput("plot"))
)
)
<强> server.R 强>
function(input, output){
country = reactive({input$COUNTRY}) # <<<<<<<<<<<
month = reactive({input$MONTH}) # <<<<<<<<<<<
output$plot <- renderPlot({
CHART_IP_JOB_FAILURE <- subset(final1, COUNTRY == country() & MONTH == month() & COUNT > 0)
H <- CHART_IP_JOB_FAILURE[,"COUNT"]
M <- CHART_IP_JOB_FAILURE[,"NAME"]
barplot(as.numeric(H),names.arg = M,xlab = "NAMES",ylab = "COUNT",col = "blue", main = "TOP 5 JOB FAILURES",border = "red")
})
}
作为资源,shiny cheat sheet可能会有所帮助。