shiny_先康康
概述
shiny是一个制作app的包,具有和web交互的功能
正文
一个例子
代码语言:javascript复制# 安装包
install.packages("shiny")
library(shiny)
# 演示官方的例子
runExample("01_hello")
运行之后R语言会弹出一个网页,这个网页布局如下,上面为交互式的直方图,下面为app.R的代码
shiny的构成
- 用户交互脚本(ui)
- 服务器脚本(server)
- 调用函数
ui脚本
关键点:括号别自己整乱了
代码语言:javascript复制library(shiny)
# ui脚本编写
ui<-fluidPage(#创建一个自动调整用户浏览器窗口
# app标题
titlePanel("Hello Shiny!"),
# 定义左边交互式的拉条
sidebarLayout(
position = "right",#指定位置
#侧边面板
sidebarPanel(
sliderInput("bins",
"Number of bins:",#箱子的标题
min = 1,#bar最小值
max = 50,#bar最大值
value = 30)
),
# 主面板
mainPanel(
plotOutput("distPlot")
)
)
)
服务器脚本
代码语言:javascript复制library(shiny)
# 定义服务器脚本
server<-function(input, output) {
output$distPlot <- renderPlot({
x <- faithful[, 2] #定义x的值,这里使用的是faithful数据
bins <- seq(min(x), max(x), length.out = input$bins 1)# 定义bins,seq为生成序列
# 绘制函数
hist(x, breaks = bins, col = 'darkgray', border = 'white')
})
}
对app进行运行
代码语言:javascript复制shinyApp(ui = ui, server = server)
上述的代码是将服务器脚本和ui脚本放在一起运行,然后保存在了你自己定义的文件夹内,本例子的文件夹名字叫shiny_1,那么你可以按照下述运行
代码语言:javascript复制#工作目录必须在这里,负责报错,或者写全路径
runApp("shiny_1")
结束语
shiny真有意思,感觉可以开个专栏来写 明天有事儿,闲下来估计就周一了,所以要停更3天
love&peace