Shiny calling a reactive in another reactive. Error: could not find data
Shiny calling a reactive in another reactive. Error: could not find data
我在使用 Shiny 对另一个反应进行反应以用于另一个反应时遇到问题。我有 pdata
子集数据,我想使用将 pdata()
发送到 zdata()
。 Zdata
将对此 pdata()
执行聚合,我想将此聚合数据发送到 ggplot
。但是 Shiny 说:
ERROR: could not find function "pdata".
这是数据框:
Hours<-c(2,3,4,2,1,1,3)
Project<-c("a","b","b","a","a","b","a")
Period<-c("2014-11-22","2014-11-23","2014-11-24","2014-11-22", "2014-11-23", "2014-11-23", "2014-11-24")
cd=data.frame(Project,Hours,Period)
Server.R
library(shiny)
library(doBy)
library(ggplot2)
shinyServer(function(input, output) {
pdata <- reactive({
subset(cd, Project==input$proj)
}
)
zdata<-reactive({
summaryBy(pdata()$Hours ~ pdata()$Period, data = pdata(), FUN=sum )
})
plotType <- reactive({
switch(input$pType,
Total = ggplot(zdata(),aes(x=Period,y=zdata()[2]))+ geom_line()+stat_smooth()
)
})
output$testPlot <- renderPlot({
print(plotType())
})
我确信我的 ui.R
是正确的,所以我没有 post。我开始收到以下行的错误:
summaryBy(pdata()$Hours ~ pdata()$Period, data = pdata(), FUN=sum )
为什么 Shiny 给我错误:找不到函数 pdata
?
pdata() 在公式中似乎是多余的...您可以试试这个代码吗?
zdata<-reactive({
summaryBy(Hours ~ Period, data = pdata(), FUN=sum )
})
我在使用 Shiny 对另一个反应进行反应以用于另一个反应时遇到问题。我有 pdata
子集数据,我想使用将 pdata()
发送到 zdata()
。 Zdata
将对此 pdata()
执行聚合,我想将此聚合数据发送到 ggplot
。但是 Shiny 说:
ERROR: could not find function "pdata".
这是数据框:
Hours<-c(2,3,4,2,1,1,3)
Project<-c("a","b","b","a","a","b","a")
Period<-c("2014-11-22","2014-11-23","2014-11-24","2014-11-22", "2014-11-23", "2014-11-23", "2014-11-24")
cd=data.frame(Project,Hours,Period)
Server.R
library(shiny)
library(doBy)
library(ggplot2)
shinyServer(function(input, output) {
pdata <- reactive({
subset(cd, Project==input$proj)
}
)
zdata<-reactive({
summaryBy(pdata()$Hours ~ pdata()$Period, data = pdata(), FUN=sum )
})
plotType <- reactive({
switch(input$pType,
Total = ggplot(zdata(),aes(x=Period,y=zdata()[2]))+ geom_line()+stat_smooth()
)
})
output$testPlot <- renderPlot({
print(plotType())
})
我确信我的 ui.R
是正确的,所以我没有 post。我开始收到以下行的错误:
summaryBy(pdata()$Hours ~ pdata()$Period, data = pdata(), FUN=sum )
为什么 Shiny 给我错误:找不到函数 pdata
?
pdata() 在公式中似乎是多余的...您可以试试这个代码吗?
zdata<-reactive({
summaryBy(Hours ~ Period, data = pdata(), FUN=sum )
})