美文网首页Tech坚持写正能量使者
R语言 用shiny开发网页app进行多组数据可视化

R语言 用shiny开发网页app进行多组数据可视化

作者: 拓端tecdat | 来源:发表于2016-12-15 13:13 被阅读1900次

    Shiny是RStudio的一个包,它使得用R构建交互式Web应用程序变得非常容易。不需要知道任何有关Web应用程序的事情 ,就可以编写Shiny 应用程序。

    然而多数Shinyapp仅是对一个结果进行可视化,通常我们在分析数据后会得到多个可视化结果,如果需要在一个app中实现展示,需要配合条件语句和复选框来实现。因此,在这里我们介绍这个实用的功能:

    首先新建一个shiny项目。

    打开rstudio,然后新建一个项目,选择New Directory。

    然后创建一个appliction 。

    配合条件语句,我们把多个可视化结果分别放入ouput对象的image变量,同时还可以创建一个text变量来解释这些图像,同样也是用条件语句。

    我们编写的rshiny模板如下:

    library(shiny)

    library(ggplot2) # Data visualization

    library(readr) # CSV file I/O, e.g. the read_csv function

    library(dplyr)

    library(data.table)

    shinyApp(

    ui=fluidPage(

    titlePanel("Image output"),

    fluidRow(

    column(4, wellPanel(

    radioButtons("picture", "Picture:",

    c(1:8))

    )),

    column(4,

    # imageOutput("image1", height = 300),

    imageOutput("image2", height = 300),

    textOutput("summary")

    )

    )

    ),

    server<-function(input, output, session) {

    # boxplot

    movies <- read.csv("movie_metadata.csv", header = T)

    x<- movies$content_rating

    y<- movies$gross

    output$image2 <- renderPlot({

    if (input$picture == "1") {

    boxplot(y~x,data=movies)

    } else if (input$picture == "2") {

    。。。(图片2)

    }else if (input$picture == "3") {

    。。。(图片3)

    }else if (input$picture == "4") {

    。。。。(图片4)

    } )

    output$summary <- renderText({

    if (input$picture == "1") {

    paste0('Pic.', input$picture ," ,this picture is about boxplot of .." )

    } else if (input$picture == "2") {

    注释2

    }else if (input$picture == "3") {

    注释3

    }

    。。。

    })

    }

    )

    如果shiny安装好了的话,你可以按run app按钮来预览我们的app。

    可以得到如下效果,通过互动的复选框我们可以展示多个可视化结果:

    还有很多需要学习的地方,希望今后大家可以做出更加有用的app。

    原文请浏览官网


    【拓端数据tecdat.cn】第三方数据服务提供商,提供全面的统计分析与数据挖掘咨询服务,为客户定制个性化的数据解决方案与行业报告等。

    中国专业的统计分析和数据挖掘咨询服务商:拓端数据(商务合作请联系官网客服)

    帅的小伙伴都关注了拓端数据团队^..^~

    QQ交流群:186388004

    微信公众号:拓端数据

    微信客服号:lico_9e

    相关文章

      网友评论

        本文标题:R语言 用shiny开发网页app进行多组数据可视化

        本文链接:https://www.haomeiwen.com/subject/lfxgmttx.html