探索R的新世界

因为最近做的研究与神经网络有关,所以这一段时间都在用python,主要是keras以及可视化的一些工作。想一想自己用R已经三年多了,也写过一些package,于是最近又逛了一下Rstudio的网站,总结一下新的收获

新知识获取

如果要了解Rstudio最新的一些消息,推荐经常逛一逛blog还是很有好处的,可以了解新发布的包以及一些重要包的更新,一般都会在blog里面有,例如这次看,就发现了一些之前没有用过的包DTlearnrblogdownreticulate等,这些新包扩展了R的应用

R语言写博客

之前一直都想自己开一个博客,也申请好了域名,租了一个服务器。之前一直都想着用wordpress搭建一个,但是一直都很懒,没有搭建。前几天逛论坛的时候,突然发现了blogdown这个包,直接用Rmarkdown写博客。相比一般的markdownRmarkdown更加适合写技术类的文章,比如说作图,表格呈现以及交互性的插件,这些都是Rmarkdown的优势。关于blogdown具体介绍点击这里。我看了一下搭建起来还是很简单,而且有很多主题可以选,Rmarkdown所用框架是从Hugo,在创建的时候就可以选择主题。刚开始大家都会选择一个比较酷炫的主题,我也是,但是感觉blogdown使用复杂主题还是会有一些问题,所以搭建博客的时候最好从简单的主题选择,毕竟主要是记录自己的学习,的确是You will forget what you see and listen, but you can remember what you write,所以要督促自己多写一点总结。

创建了blogdown之后,将public文件夹下面的文件上传,就可以访问了,我用别人主题搭建了一个,效果还是可以的,但是写blog还是有点问题,因为它的blog并不是在post文件夹下面。大家可以访问以下,看一下效果,我的博客。看来改天要抛弃简书,建立自己博客小站,努力写一东西,我这个人习惯不好,喜欢看很多东西和做很多东西,不太喜欢写各种总结,其实到后面自己都忘记以前干的事情了,所以总结还是非常有必要的。

貌似blogdown支持控件会出现一些问题,比如说有一些控件的js文件互补相容,这个时候就需要用widgetframe来避免这些问题

Rmarkdown

Rmarkdown还是一个非常好用的,可以输出类型各种文件,只要更改output就可以了

  • output: html_document:输出为html文件
  • output: pdf_document:输出为pdf文件
  • output: word_document:输出为word文件
  • output: ioslides_presentation:输出为演讲PPT(是html文件)
  • output: ioslides_presentation ; runtime: shiny:输出为带shiny应用演讲PPT,可以进行交互,还是非常酷。
  • learnr:使用learnr可以让出现交互式的教学网页,非常适合直接用于展示

Rmarkdown控件

Rmarkdown有许多动态控件,这些控件大多数都是一些优秀的js文件转化的,我之前只用过Leaflet,更多具体控件可以访问htmlwidget,这些控件的确是非常优秀,非常适合那些需要交互式的展示。

Website

可以直接来写静态的网页,只需要一个'_site.yml'配置文件以及index.Rmd文件,执行rmarkdown::render_site就可以了。

Websites

flexdashboard

flexdashboard非常适合需要可视化大量信息的时候,可以分块进行展示,每个大标题下又分成不同的小标题。这就是多级标题如何区分

  • Each Level 1 Header (#) begins a new page in the dashboard.
  • Each Level 2 Header (##) begins a new column.
  • Each Level 3 Header (###) begins a new box.
flexdashboard

shiny

shiny是R里面可以直接写前端和后端的应用,可以说是非常方便,而且shiny的应用可以嵌入到网页当中,shiny可以使用非常简单的代码写完一个应用,之后可以考虑将自己博士期间的工作写成一个shiny的应用,放到组内的服务器上,让后面进组的同学也可以使用我之前做的工作。关于shiny我之前也写过一些总结,具体查看这里shiny具体使用教程

plumber

当一段R代码写完,你又很想将它转换成为网页应用的时候,plumber就可以起到作用了,只需要简单的几行代码,就可以转成网页应用,只要发送一个网页请求就可以得到最后的结果。

R语言数据处理和可视化

我觉得R语言中的pipeline是一个非常酷的想法,从数据获取,数据清洗到数据可视化只需要不停的用%>%就可以,可以说是非常方便的。这些包都可以在这里找到。数据获取包括readrreadxl等包,数据可视化当然是ggplot2,这些包我也写过一些总结,不过是用Rmarkdown写的,之后可以从个人的博客中贴出。

R语言与大数据和深度学习

实际上R语言在2016年的时候就开始支持spark了,这里用sparklyr,感觉使用起来非常的方便,包里面也有许多现成的机器学习算法,可以直接使用。sparklyr也支持pipeline,就是用大数据工具处理之后的数据可以直接进行可视化。
R语言之前有很多包都支持深度学习,类似于kerasR这些包,但是一直都没有支持tensorflow,R社区的人应该也不是很甘心,深度学习没有R什么事情,所以R开始支持tensorflow,具体文档可以查看tensorflow

R语言与数据库

Rstudio升级之后,出现了Connections的菜单栏,可以直接在Rstudio里连接数据库,这也是特别方便了,除此之后R里面出现的pool包使得数据库连接管理更加便捷,也更方便直接建立shiny的应用。具体数据库应用可以查看这里

Final

总而言之,R还是可以干许多非常酷的事情,目前已经掌握很熟练了,所以尽快在kaggle上参加一下比赛,历练一下自己,加油吧,少年!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,585评论 18 139
  • 1.数据导入 以下R包主要用于数据导入和保存数据: feather:一种快速,轻量级的文件格式;在R和python...
    雨一流阅读 1,283评论 0 9
  • 准备开发一个SDK,方便各项目统一集成。自己开发的功能封装起来还算容易,但是有时候需要借助一些三方的SDK,我们不...
    Ching_Han阅读 1,283评论 2 8
  • 学习是一件很快乐的事,要天天学习,坚持下来就是胜利。
    美乐泓予阅读 80评论 0 0
  • 只要在导入Masonry主头文件之前定义这个宏, 那么以后在使用Masonry框架中的属性和方法的时候, 就可以省...
    麦兜兜买兜兜阅读 370评论 0 0