我在R中使用茶标准数据集,并希望创建一个闪亮的应用程序以表示2个变量及其%ge频率。
这是我的ggplot的R代码,可以正常工作,但是当我尝试将此代码封装为闪亮的时,似乎有问题。
ggplot(the, aes(x= clust, group=breakfast)) +
geom_bar(aes(y = ..prop.., fill = factor(..x..)), stat="count") +
geom_text(aes( label = scales::percent(..prop..),y= ..prop.. ), stat= "count", vjust = -.5) +
labs(y = "Percent", fill="clust") +
facet_grid(~breakfast) +
scale_y_continuous(labels = scales::percent)
这是我闪亮的用户界面:非常简单高效
library(shiny)
# ----- UI ----------------------------
pageWithSidebar(
headerPanel('Representer les variables'),
sidebarPanel(
selectInput('xcol', 'X Variable', names(the)),
selectInput('ycol', 'Y Variable', names(the)),
selected=names(the)[[2]]
),
mainPanel(
plotOutput('plot1')
)
)
这是我无法使用的闪亮服务器:
library(shiny)
library(ggplot2)
library(tidyr)
# ---- Server ----------------------------------
server=shinyServer(function(input, output, session) {
selectedData <- reactive({
mutate(group_by(count(the, input$xcol, input$ycol)),
input$xcol, prop = n / sum(n))
})
output$plot1 <- renderPlot({
ggplot(selectedData()) +
geom_col(aes_string(x = input$xcol, y = prop, fill =input$ycol),
position = "dodge")
})
})