我有一个关于Shiny的问题.我将通过提供我确实花时间与谷歌和SO档案,尝试了一些事情,但仍然不知何故错过了一些东西.我会为任何发布失礼而道歉,并提前感谢任何指导.
我正在尝试我认为是一项非常基本的任务,以便学习Shiny,从一个Shiny gallery示例中调整代码.我将csv文件读入dataframe(df.shiny).我想选择与一个设施(级别)相关的业务绩效数据(ITBpct)df.shiny$Facility并将其显示在SPC图表中(使用qcc).
我的问题似乎与使数据server.R可用有关ui.R.我相信数据被读入数据帧(它在控制台中打印),但不可用ui.R.我确信我只是忽视了一些东西,但还没有想出来.
我正在使用Shiny站点上提到的文件夹结构,其中server.R和ui.R位于工作目录子文件夹("Shiny-App-1")中,并且子文件夹中的数据到此文件夹(Shiny-App-1) /数据).
我为帮助跟踪错误而插入的代码通过打印SRV-2和UI-1控制台运行.Firefox打开.然后是错误.
options(browser = "C:/Program Files (x86)/Mozilla Firefox/firefox.exe")
library(shiny)
runApp("Shiny-App-1")
Run Code Online (Sandbox Code Playgroud)
server.R代码
library(shiny)
library(qcc)
print("SRV-1") # for debugging
df.shiny = read.csv("data/ITBDATA.csv")
print(df.shiny) # for debugging
print("SRV-2") # for debugging
shinyServer(function(input, output, session) {
# Combine the selected variables into a new data frame
# assign xrow <- Facility
print("SRV-3") # for debugging
selectedData <- reactive({ subset(df.shiny, Facility %in% input$xrow) })
print("SRV-4") # …Run Code Online (Sandbox Code Playgroud) 如果可以,我还有一个关于在使用 Shiny 时读取 csv 文件的问题。
我确实花了很多时间搜索和 rtfm ......如果我错过了什么,我很抱歉。大多数答案似乎有点过于花哨,在选择数据文件时需要用户交互。我只是想让 R Shiny 在没有任何用户交互的情况下读取数据文件(只是一个)。
我有标准文件 ui.R 和 server.R 我将它们放在工作目录中。
我有一个包含数据的 csv 文件,我将其放在名为“data”的子目录中(基于http://shiny.rstudio.com/tutorial/lesson5/的教程)
在 R Studio 中,我手动将工作目录设置为包含 ui.R 和 server.R 文件的目录。我加载闪亮并执行 runApp()。server.R 中的一行脚本尝试使用 read.csv 将数据读入对象“d.in”。
这不起作用,所以我尝试在读取 csv 文件之前强制工作目录,然后在读取数据后和 ShinyServer 代码之前重置它。
代码片段:
wd.datapath = paste0(getwd(),"/data")
wd.init = getwd()
setwd(wd.datapath)
d.in = read.csv("shinyDataITB.csv", header = TRUE)
setwd(wd.init)
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:“错误:找不到对象 'd.in'”
如果我在运行 runApp 之前手动加载 csv 数据文件,那么其他一切似乎都可以正常工作。我不确定我是如何搞砸的,但欢迎任何帮助。
ui.R 文件
##### ui.R #####
library(shiny)
shinyUI(pageWithSidebar(
headerPanel("Supply ITB"),
sidebarPanel(
radioButtons(inputId = "in.facnum",
label = "Choose Facility",
choices = levels(d.in$facnum)) …Run Code Online (Sandbox Code Playgroud)