技术好文:R基础学习(三)

简介: 技术好文:R基础学习(三)

"

测试环境:win10+RStudio

提前准备:

install.packages('shiny')

install.packages('RMySQL')

数据表准备:

最终实现的界面效果如下:点击【Click Me】按钮,从数据库读出数据,并在界面画出条形图

正式开始!

在R项目(比如ShinyDemo)的目录下新建一个文件夹barplotDemo

然后在这个目录下新建两个文件,ui.R和//代码效果参考:https://v.youku.com/v_show/id_XNjQwNjg1MzczNg==.html

server.R

ui.R的代码实现如下

library(shiny)

# Use a fluid Bootstrap layout

fluidPage(

# Give the page a title

titlePanel(""A Simple Shiny Demo""),

# Generate a row with a sidebar

sidebarLayout(

# Define the sidebar with one input

sidebarPanel(

actionButton(""do"", ""Click Me"")

),

# Create a spot for the barplot

mainPanel(

plotOutput(""dataPlot"")

)

)

)

server.R的代码如下:

library(RMySQL)

# Define a server for the Shiny app

function(input, output) {

observeEvent(input$do, {

   # connect the database

conn <- dbConnect(MySQL(), dbname = ""test"", username=""root"", password=""123456"",client.flag=CLIENT_MULTI_STATEMENTS)

users = dbGetQuery(conn, ""SELECT * FROM tb_user"")

dbDisconnect(conn)

output$dataPlot <- renderPlot({

vAge<-as.vector(unlist(users【3】))

vName<-as.vector(unlist(users【2】))

Height</span><-vAge

names(height)<-vName

barplot(height)

})

})

//代码效果参考: https://v.youku.com/v_show/id_XNjQwMDM5NzA0OA==.html

}

备注:

(1)observeEvent(input$do, { }) 是按钮监听处理

(2)barplot的【height】要么是向量要么是矩阵,而users是list,所以需要进行处理,可以在Console查看数据类型

【1】 FALSE

【1】 FALSE

【1】 ""list""

【1】 ""numeric""

> vAge

【1】 20 26 29 49 39 53 48

【1】 ""character""

> vName

【1】 ""Tom"" ""Jack"" ""Mary"" ""Merry"" ""Jerry"" ""Jucy"" ""Lucy""

上面两个R文件写好代码之后,在Console执行,记得在文件夹名字两侧加引号

运行成功后,可以看到效果如下:

点击【Click Me】,可以看到条形图

到此结束~


"
image.png
相关文章
|
3月前
|
监控 安全 网络协议
技术笔记:TOMOYOLinux(undone)
技术笔记:TOMOYOLinux(undone)
28 0
|
3月前
|
Linux API Apache
技术好文:saltstackpillar
技术好文:saltstackpillar
18 1
|
3月前
|
JSON 程序员 Swift
技术好文:Swit项目
技术好文:Swit项目
18 0
|
3月前
|
存储 编解码 索引
技术好文:StudingDay3
技术好文:StudingDay3
|
3月前
|
数据可视化 BI OLAP
技术经验分享:DundasBI简介
技术经验分享:DundasBI简介
32 0
|
3月前
|
前端开发
技术好文:wobble
技术好文:wobble
19 0
|
3月前
|
API C#
技术好文:xluatips
技术好文:xluatips
18 0
|
3月前
|
Python
技术好文:VileGrasshoppers
技术好文:VileGrasshoppers
12 0
|
3月前
|
存储 算法 Java
技术好文共享:程序员的进阶课
技术好文共享:程序员的进阶课
18 0
|
3月前
|
自然语言处理 编译器 API
技术笔记:Roslyn介绍
技术笔记:Roslyn介绍
37 0