【问题标题】:Reading objects from shinyoutput object are not allowed不允许从闪亮输出对象中读取对象
【发布时间】:2014-12-04 19:11:45
【问题描述】:

我正在使用以下平台和版本的 R:

平台 x86_64-apple-darwin10.8.0
version.string R 版本 3.0.3 (2014-03-06)

我是闪亮的新手,我正在尝试使用 rWBclimate 数据集将一个简单的应用程序放在一起,它是 R 中的一个包:

http://cran.r-project.org/web/packages/rWBclimate/rWBclimate.pdf

我收到以下错误:

$.shinyoutput(output, gvis) 中的错误: 不允许从闪亮输出对象中读取对象。

使用以下脚本时。 ui.R

library(shiny)
suppressPackageStartupMessages(library(googleVis))

shinyUI(pageWithSidebar(
  # Application title
  headerPanel("Global Temperature"),

  #sidebar with controls to select var to plot year 
  sidebarPanel(
    selectInput("fromyr", "Select Years:", choices=c("1920", "1940","1960", "1980"))
  ),
  mainPanel(
    htmlOutput("gvis")#, 
  )  

)
)

和服务器.R

library(shiny)
#install.packages("rWBclimate")
library(rWBclimate)
library(ggplot2)
library(rCharts)
suppressPackageStartupMessages(library(googleVis))

countries <-c("USA","BRA","CAN","YEM")

# get temperature data for ensembles
st=1900
en=2100
data_df_all <- get_ensemble_temp(countries, type="annualavg", start=st, end=en)

data_df<-subset(data_df_all,data_df_all$percentile==50) #subset to median percentile
data_df<-subset(data_df, select=-percentile)
data_df<-subset(data_df, data_df$scenario!="b1")
data_df<-subset(data_df, select=-scenario)
data_df<-subset(data_df, data_df$fromYear==1920)

shinyServer(function(input, output){

  #df<-reactive({
#    switch(subset(data_df, data_df$fromYear==input$fromyr),
#           "1920"= 1920,
#           "1940" = 1940,
#           "1960" = 1960,
#           "1980" = 1980)
    #dfi<-subset(data_df, data_df$fromYear==input$fromyr)
    #subset(data_df, data_df$fromYear==1920)
    #data_df[data_df$fromYear == input$fromyr, ]
    #subset(data_df, data_df$scenario==input$scenar)
    #subset(alldat, alldat$fromYear==input$fromyr)
#  })

  output$gvis < renderGvis({
#    gvisGeoChart(dat=df(), locationvar="locator", colorvar="data")
    gvisGeoChart(data_df, locationvar="locator", colorvar="data")
  })
})

任何见解都会很棒。我尝试使用响应式语句,以及将文件直接放入 gvisGeoChart,就像上面的版本一样。

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    您只是在 server.R 文件的末尾缺少一个“-”。如果您仔细查看您的 output$gvis,您会注意到您没有分配 output$gvis,而是使用 &lt; 运算符将其与您渲染的 Gvis 对象进行了实际比较(这就是您收到有关从输出中读取对象的错误的原因)。只需将 output$gvis &lt; renderGvis({... 更改为 output$gvis &lt;- renderGvis({... 即可,一切正常。

    【讨论】:

    • @NicoleGoebel,我们都会犯错误,如果您满意,请随时接受答案。
    • 如果您收到此错误,请检查作业。我刚刚犯了同样的愚蠢错误output$test &gt;- renderUI etc 所以&gt;- 不是正确的&lt;-
    猜你喜欢
    • 2017-01-03
    • 2020-04-04
    • 2021-07-18
    • 2020-02-29
    • 2018-10-29
    • 2017-01-27
    • 2017-09-19
    • 1970-01-01
    • 2015-04-13
    相关资源
    最近更新 更多