小编crl*_*ong的帖子

R Shiny - ui.R似乎无法识别server.R读取的数据帧

我有一个关于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-2UI-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)

r shiny

10
推荐指数
2
解决办法
4298
查看次数

R Shiny 读取 csv 文件

如果可以,我还有一个关于在使用 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)

r shiny

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

r ×2

shiny ×2