扫描二维码,下载手机APP
下载安卓APP箭头

这么多的编程语言技巧你学会了几个

作者:课课家教导 http://jscebj.com点击数:894发布时间:2019-07-31 21:08:11
大神带你学编程,欢迎选课

由于Python语言的简洁性¶••⊿易读性以及可扩大性,在国外用Python做科学盘算的研究机构日益增多,一些著名大学已经采用Python来教授程序设计课程••。例如卡耐基梅隆大学的编程基础¶••⊿麻省理工学院的盘算机科学及编程导论就应用Python语言讲解••。

由于R语言生态系统内容繁复并在不断发展,人们往往容易疏忽一些切实有用的知识••。这些技巧往往非常简略,但对于完成工作有很大的赞助••。

本文将介绍十个能够让R语言编程工作更加轻松的小知识••。

1. switch函数

在if语句基于其他变量值来选定某个值时,switch可以很方便地缩短if语句••。这个技巧在编程中需要根据之前的决定加载一个不同的数据集时非常有用••。比如说,现在有一个变量“animal”,编程需要根据animal是dog,cat还是rabbit来加载一个不同的数据集••。利用switch函数,可以输入以下代码:

  1. data <-read••。csv
  2.   switch(animal, 
  3.          "dog" ="dogdata.csv", 
  4.          "cat" ="catdata.csv", 
  5.          "rabbit" ="rabbitdata.csv") 

当需要根据一个或多个输入菜单选择在Shiny利用程序中加载不同的数据集甚至环境文件时,这个技巧非常有用••。

2. RStudio快捷键

和R hack软件系统相比,RStudio IDE(IntegratedDevelopment Environment,集成开发环境)中更常用到这一类技巧••。这些常用命令的快捷键非常有用,可以节俭很多敲键盘的时间••。比如Ctrl+Shift+M(用于管道操作符%>%)和Alt+-(用于赋值运算符<-)两个快捷键••。想要懂得更多方便好用的快捷键,可以在RStudio中输入Atl+Shift+K查看••。

3. flexdashboard包

如果想要创立一个能快速启动和高效运行的Shiny仪表盘,可以选择flexdashboard••。这个包供给简略的HTML快捷方法,可以简化侧边栏创立和构建行列展现••。还有超级便捷的标题栏,可以把利用程序编译到不同的页面,以及把图标和链接放入Github代码和邮件地址等••。

由于flexdashboard包基于RMarkdown进行操作,它容许把所有利用程序放在一个Rmd文件中,而不必像shinydashboard那样把程序分成独立的服务器和UI(User Interface,用户界面)文件••。在需要创立一个简略的仪表盘初始版本并将其并入更高级的设计版本时,flexdashboard包十分好用••。利用flexdashboard包可以在一个小时内启动和运行仪表盘••。

4. R Shiny中的req函数和validate函数

R Shiny常常让人崩溃,特别是在弹出一般性毛病提示而程序员又一头雾水的时候••。随着Shiny的发展,越来越多的验证函数和测试函数参加了Shiny,赞助程序员更好地诊断和提示毛病••。

当操作环境中没有其他变量时,req()函数可以悄无声息地禁止一个操作的产生,并且不弹出毛病提示••。程序员因而可以在此前的操作中有条件地展现UI元件••。以第一个小技巧中提到的例子为例:

  1. output$go_button<- shiny::renderUI({ 
  2.   # only display button if an animal input hasbeen chosen 
  3.   shiny::req(input$animal) 
  4.   # display button 
  5.   shiny::actionButton("go", 
  6.                      paste("Conduct", input$animal, "analysis!") 
  7.   ) 
  8. }) 

彩559validate()函数则可以在输出成果前进行检查••。如果某个条件没有满足,特定的毛病提示会弹出••。比如说当用户上传了毛病的文件时:

  1. # get csv inputfile 
  2. inFile <-input$file1 
  3. data <-inFile$datapath 
  4. # render table onlyif it is dogs 
  5. shiny::renderTable({ 
  6.   # check that it is the dog file, not cats orrabbits 
  7.   shiny::validate( 
  8.     need("Dog Name" %in%colnames(data)), 
  9.     "Dog Name column not found - did youload the right file?" 
  10.   ) 
  11.   data 
  12. }) 

5. 利用系统环境保密所有凭证

如果在分享代码时,设置了数据库登录凭证或类似的设置,可以利用系统环境,防止凭证被上传到Github或其他处所造成代码泄漏••。可以把这些凭证作为命名环境变量放在R session中••。比如:

  1. Sys.setenv( 
  2.   DSN = "database_name"
  3.   UID = "User ID"
  4.   PASS = "Password" 

这些环境变量可以用来登录分享的脚本••。比如:

  1. db <-DBI::dbConnect
  2.   drv = odbc::odbc(), 
  3.   dsn = Sys.getenv("DSN"), 
  4.   uid = Sys.getenv("UID"), 
  5.   pwd = Sys.getenv("PASS") 

更加简便的是,如果频繁应用某些凭证,可以在操作系统中把它们设置为环境变量••。如此,用R语言系统工作时,便无需在代码中输入就可以随时应用这些凭证••。(注意有凭证权限的人••。)

6. styler主动生成tidyverse作风

彩559界面上有很多代码,然而它们并不像你想要的那样整洁,你也没有时间进行多线编辑••。不要担心••。styler包有多个函数可以主动编辑代码,生成tidyverse作风••。只需要简略地运行styler::style file(),它就会完成大部分(并不是所有)的工作••。

7. 参数化R Markdown文件

彩559当你分析了一大堆关于狗的事实并写完一个满意的R Markdown文件时,你被告诉,“我还是对猫更感兴趣”••。这要怎么办呢?不要担心••。如果参数化了R Markdown文件,只要通过一个命令,就可以主动生成一份类似的关于猫的报告••。

彩559具体来说,需要在R Markdown文件的YAML标头中设置参数,并给每个参数赋值••。比如:

  1. --- 
  2. title: "AnimalAnalysis" 
  3. author: "KeithMcNulty" 
  4. date: "21March 2019" 
  5. output: 
  6.   html_document: 
  7.     code_folding: "hide" 
  8. params: 
  9.   animal_name: 
  10.     value: Dog 
  11.     choices: 
  12.       - Dog 
  13.       - Cat 
  14.       - Rabbit 
  15.   years_of_study: 
  16.     input: slider 
  17.     min: 2000 
  18.     max: 2019 
  19.     step: 1 
  20.     round: 1 
  21.     sep: '' 
  22.     value: [2010, 2017] 
  23. -- 

然后只需把这些变量用R语言,如params$animal_name和params$years_of_study写进文件中就可以了••。如果正常转换文件,那么每个参数就会被设置成默认值••。但是,如果在转换文件选择参数时,选择了RStudio中Knit下拉列表中的选项(或应用了kint_with_parameters()函数),一个菜单就会涌现,来在转换文件前选择参数••。非常棒!

参数转换

8. revealjs包

revealjs包内嵌R代码,可以应用直观的幻灯片导航菜单在HTML中创立赏心悦目标演示文稿••。它可以在R Markdown中应用,并有非常直观的HTML快捷方法,可以创立具有嵌套和逻辑结构的各种作风的俏丽幻灯片••。HTML格式的演示文稿也意味着人们在听演讲时可以持续应用平板电脑或手机••。这真的很方便••。可以通过安装包并在YAML标头中调用来设置一个revealjs演示文稿••。下面展出了应用revealjs做的一个演讲的YAML标头••。

  1. --- 
  2. title:"Exporing the Edge of the People Analytics Universe" 
  3. author: "KeithMcNulty" 
  4. output: 
  5.   revealjs::revealjs_presentation: 
  6.     center: yes 
  7.     template: starwars.html 
  8.     theme: black 
  9. date: "HRAnalytics Meetup London - 18 March, 2019" 
  10. resource_files: 
  11. - darth.png 
  12. - deathstar.png 
  13. - hanchewy.png 
  14. - millenium.png 
  15. - r2d2-threepio.png 
  16. - starwars.html 
  17. - starwars.png 
  18. - stormtrooper.png 
  19. --- 

revealjs助你轻而易举完成线上演示文稿

9. R Shiny中的HTML标签(以在Shiny利用程序中播放音频为例)

R Shiny中有110种HTML标签,可认为各种各样的HTML命令,如格式化,供给快捷方法••。然而,大部分人都没有充分利用这些标签••。比如创立了一个shiny利用程序,该程序在履行某个任务时需要消费大批的时间••。用户盼望在等候完成该任务的过程中,能够履行其他的多项任务,所以可以利用tags$audio这一标签,让该利用程序在完成任务时播放成功号角来提示用户••。

10. praise包

praise包具有极其简略但十分有用的功效,即夸奖用户••。尽管这一功效看起来是毫无意义的自我赞美,它实际上施展着宏大的作用••。它可以在用户成功地完成一个任务时,对用户进行夸奖或勉励••。程序员也可以把这个包放在已完成的脚本的最后,在程序顺利运行之后享受它带来的幸福瞬间••。

praise包

 在您开端之前,在你的盘算机将需要Python,但您可能不需要下载它••。首先检查(在命令行窗口输入python)有没有安装Python!如果你看到了一个Python解释器的响应,那么就能在它的显示窗口中得到一个版本号••。通常较新的版本都可以做到Python的向后兼容••。
赞(13)
踩(0)
评论(0
最新评论

暂无评论~

大数据课程
红韵彩票官网 澳洲幸运10官方网站 快速飞艇开户网 75秒快3走势图 PK10牛牛投注 qq分分彩怎么下注 彩世界彩票手机app 网易彩票手机app 幸运赛车在线投注 网易红彩彩票手机app