【发布时间】:2020-04-03 13:19:58
【问题描述】:
我正在尝试在 flexdashboard 和 shiny 的帮助下在 R 中创建一个交互式仪表板。
我有这张表,其中有七列(翻译成英文):区域、年份、年龄、age2、ageMean、jobPosition 和工资。
我尝试使用 selectInput() 为地区、年份和职位创建 3 个下拉过滤器。
Bratislava I 2009 31.93 31.92 30.66 Priemyselná výroba 1510.24
Bratislava I 2009 31.93 31.92 30.66 Dodávka elektriny, plynu, pary a studeného vzduchu 1506.14
Bratislava I 2009 31.93 31.92 30.66 Dodávka vody, čistenie a odvod odpadových vôd, odpady a služby odstraňovania odpadov 911.0
这就是我现在所做的(我正在粘贴整个 RMarkdown,但我在下面显示的表格位于名为“数据集”的脚本中。
---
title: "Title: Bratislava"
output:
flexdashboard::flex_dashboard:
orientation: columns
social: menu
source_code: embed
runtime: shiny
---
{r global, include=FALSE}
# load data in 'global' chunk so it can be shared by all users of the dashboard
library(ggplot2)
library(flexdashboard)
library(tidyverse)
library(tidyquant)
library(readxl)
library(shiny)
birthdata <- read_excel(path = "C:/Users/Dase03/Downloads/mydata.xlsx")
salarydata <- read_excel(path = "C:/Users/Dase03/Downloads/salary.xlsx")
salarydata <- salarydata %>%
gather(jobs, wage, -1:-2)
salarydata <- salarydata %>%
filter(Rok > 2008 & wage > 0 & wage != "D")
birthdata <- birthdata %>%
filter(Rok > 2008)
dataset <- left_join(birthdata, salarydata)
dataset$wage <- as.numeric(dataset$wage)
dataset$Okres <- factor(dataset$Okres)
dataset$Okres <- factor(dataset$Okres, levels = c("Bratislava I", "Bratislava II", "Bratislava III", "Bratislava IV", "Bratislava V"))
view(dataset)
Inputs {.sidebar}
-----------------------------------------------------------------------
{r}
selectInput("x", "Choose a District", choices = unique(dataset$Okres))
selectInput("y", "Choose a Year", choices = unique(dataset$Rok))
selectInput("z", "Choose a Job", choices = unique(dataset$jobs))
输出
数据
renderPlot({
ggplot(dataset, aes_string(x=input$x, y=input$y)) + geom_bar()
})
但是,我无法让它运行,因为它向我显示如下错误:
:1:12: 意外符号 1:布拉迪斯拉发一世 ^
我尝试修复它,它看起来可以正常工作,但过滤器没有反应。条形图没有改变(不是交互式的,所以我确定我在某个地方出错了。
有人愿意帮助一下如何让它运行仪表板吗?
最终输出将用于 y 轴指标,例如年龄、年龄 2、年龄平均值和工资。
非常感谢您的任何建议。
【问题讨论】:
标签: r shiny rstudio flexdashboard