R语言使用shiny包创建web界面。
使用 shinydashboard 包和 shinytheme ,美化界面样式,设置界面主题,提升界面整体水平。
Shiny界面图库
shinydashboard
shinytheme界面主题
shinydashboard包创建的基础界面样式分为三个板块:标题,侧边栏,主界面。
shiny包支持 recharts 包的使用,可以创建界面的交互式图形
shinyapps网址
Rstudio推出了 shiny 和 shinyapps 两个包,shiny可以帮助我们更快更好的开发一些app,然后shinyapps可以提供了一个免费的云服务器,供我们发布app。
以知乎 用R语言分析NBA球员得分 分析结果为主题,做web界面展示。
侧边栏设置两个选项:datas display和players' score,点击不同的选项,展示对应的内容。
datas display界面展现3个数据框:NBA,Away team,Host team。通过show 10/25/50 entries 等控制页面展示数值的条数;右上角search实现数值的搜索功能(使用DT包实现)。
players' score展示主队、客队球员得分情况。使用ggplot2包绘制客队各个球员的得分情况
使用 recharts 包绘制主队各个球员的得分情况,recarts包实现图形交互式展现。
建立完UI界面后,设置对应的数值,表格,图形,使web界面变成动态的界面。
挣扎了好久终于把界面创建成功了,shiny的初步学习先画个句号。
1.问题描述:数据如图1,我要按照group画每个分类的散点图,如图2,9个group在一个PDF文件的同一页2.使用for循环和assign函数,画出9个group的图,储存在pp1-pp9,完了用cowplot进行合并到一个页面。
assign函数很妙,可以多个输出pp1-pp9,存9张图,使用方法为assign(变量名,你的任何函数)
3.另一种输出需求,把9张图,画到同个pdf 9页,每一页一个图
r语言中添加新列的方法:
假设你数据是data,那么前几列的和是rowSums(data);
然后你可以重新做一个dataframe
data_new<-data.frame(data,sum=rowSums(data))
R语言Data Frame数据框常用操作:
Data Frame一般被翻译为数据框,感觉就像是R中的表,由行和列组成,与Matrix不同的是,每个列可以是不同的数据类型,而Matrix是必须相同的。
Data Frame每一列有列名,每一行也可以指定行名。如果不指定行名,那么就是从1开始自增的Sequence来标识每一行。
使用data.frame函数就可以初始化一个Data Frame。比如我们要初始化一个student的Data Frame其中包含ID和Name还有Gender以及Birthdate,那么代码为:
student<-data.frame(ID=c(11,12,13),Name=c("Devin","Edward","Wenli"),Gender=c("M","M","F"),Birthdate=c("1984-12-29","1983-5-6","1986-8-8”))
另外也可以使用read.table() read.csv()读取一个文本文件,返回的也是一个Data Frame对象。读取数据库也是返回Data Frame对象。
查看student的内容为:
ID Name Gender Birthdate
1 11 Devin M 1984-12-29
2 12 Edward M 1983-5-6
3 13 Wenli F 1986-8-8
这里只指定了列名为ID,Name,Gender和Birthdate,使用names函数可以查看列名,如果要查看行名,需要用到row.names函数。这里我们希望将ID作为行名,那么可以这样写:
row.names(student)<-student$ID