作者aee36900 (持久战!!)
看板R_Language
标题[问题] shiny使用回圈跑多组模型并依序输出
时间Mon Nov 30 12:00:45 2015
文章分类提示:
- 问题: 当你想要问问题时,请使用这个类别
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
请把以下不需要的部份删除
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
想要使用shiny跑多组不同参数设定的模型 然後layout
server端的output不知道如何使用回圈代替
[程式范例]:
程式有做些简化
ui的设计如下
library(shiny)
shinyUI(fluidPage(
headerPanel("model"),
sidebarLayout(
sidebarPanel(
selectInput("city", "choice a city:",
list("..."))
submitButton("Update View")
),
mainPanel(
splitLayout(
plotOutput("ns_plot1"),
plotOutput("ns_plot2"),
plotOutput("ns_plot3"),
plotOutput("ns_plot4"),
plotOutput("ns_plot5")
)
)
)))
server的设计如下
#由前端接收参数当作SQL的条件 然後去impala捞资料
#接着在renderPlot中 跑模型并画出图形行输出至前端
library(shiny)
library(RImpala)
shinyServer(function(input, output) {
datainput <- reactive({
sql_query <- paste(...)
rimpala.init()
rimpala.connect()
impala_dataset <-rimpala.query(sql_query)
rimpala.close()
m2 <- impala_dataset
})
i <- 1
while (i<6){
output$ns_plot(i) <- renderPlot({
m2 <- datainput()
cb.ns <- crossbasis(..., argvar=list(fun="ns",df=(i)),...)
model.ns <- glm(visits ~ cb.ns + dow,family=quasipoisson(), m2)
pred.ns <- crosspred(cb.ns ,model.ns )
plot(predns, xlab="air factors", zlab="RR", theta=200, phi=40, lphi=30)
})
}})
[环境叙述]:
R version 3.2.1 (2015-06-18)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS release 6.7 (Final)
[关键字]:shiny loop polt splitLayout
选择性,也许未来有用
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 211.76.246.58
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1448856048.A.139.html
2F:→ aee36900: 感谢c大的范例,不过怎样可以横向输出阿... 12/01 22:07
3F:→ aee36900: 目前输出了十组图形,但是都是从上往下 12/01 22:08
4F:→ celestialgod: 不是我的范例,google到的@@ 12/01 22:10
5F:→ celestialgod: 横向,我也不知道耶QQ,感觉只能调list顺序 12/01 22:11
6F:→ aee36900: 有找到splitLayout这个可以横向输出,但是SEREVR那边不 12/02 10:59
7F:→ aee36900: 知道怎麽将回圈依序产生的图丢去UI那边呈现 12/02 10:59