生物医学工程理论与实践/R语言介绍
R语言是一种开源命令行编程语言,用于统计计算和图形绘制[1]。R语言在GNU许可证下免费提供。它在各种领域都有用,例如商业、工业、政府、医疗保健和学术界。R语言最初由Robert Gentleman和Ross Ihaka于1993年开始创建,也被称为奥克兰大学统计系的“R&R”[2]。R语言基于S语言,S语言由贝尔实验室的Rick Becker、John Chambers和Allan Wilks开发,也是S-PLUS系统的基础。自1997年年中以来,一直有一个核心小组拥有R语言源代码的写入权限。所有更改的完整列表保存在CRAN上的“R News”文件中[3]。以下是其中的一些亮点。
发布 | 日期 | 描述 |
---|---|---|
0.16 | 1997.04 | 这是主要由Ihaka和Gentleman开发的最后一个alpha版本。 |
0.49 | 1997.04 | 这是最古老的可用源代码版本,并且在有限数量的类Unix平台上编译。CRAN在此日期启动,拥有3个镜像,最初托管了12个包。 |
0.60 | 1997.12 | R语言成为GNU项目的正式部分。 |
1.0 | 2000.02 | 被开发人员认为足够稳定。 |
1.4 | 2001.12 | 引入了S4方法,第一个Mac OS X版本不久后发布。 |
2.0 | 2004.10 | 引入了延迟加载,它允许以最小的系统内存消耗快速加载数据。 |
2.1 | 2005.04 | 支持UTF-8编码,以及针对不同语言的国际化的开始。 |
2.11 | 2010.04 | 支持Windows 64位系统。 |
2.13 | 2011.04 | 添加了一个新的编译器函数,该函数允许通过将函数转换为字节码来加快函数速度。 |
2.14 | 2011.10 | 为包添加了强制命名空间。添加了一个新的并行包。 |
2.15 | 2012.03 | 新的负载均衡功能。改进了长向量的序列化速度。 |
3.0 | 2013.04 | 支持64位系统上的231及更大的数值索引值。 |
R语言是一种解释型和命令行编程语言。R语言支持使用函数进行过程式编程,并且对于某些函数,它还支持使用泛型函数进行面向对象编程。R语言可以与C、C++[4]、Java[5]、.NET[6][7][8]和Python等编程语言进行交互。
CRAN,综合R语言档案网络是包含R语言源代码、R语言二进制文件、扩展包、文档和常见问题的网站网络。CRAN网站的左侧菜单包含CRAN、关于R语言、软件和文档。
CRAN 菜单在 CRAN镜像 中包含 镜像、最新消息、任务视图 和 搜索。 CRAN镜像 中的“镜像”显示了如何根据您的位置和平台下载和安装R语言。这里还包含常见问题解答。 “最新消息”报告了R语言中的更改、R语言中的错误修复,包括新包的公告。“任务视图”根据特定领域组织R语言包。“搜索”链接了一些网站,这些网站可以搜索帮助文件、手册和邮件列表存档。
关于R语言 部分在CRAN中包含 R语言主页 和 R语言期刊。 R语言主页 链接到 R语言统计计算项目。R语言期刊 链接到 https://journal.r-project.org。 https://journal.r-project.org 是R语言统计计算项目的开放获取、同行评审期刊。它刊登了涵盖可能对R语言用户或开发人员感兴趣的主题的短篇到中篇论文,包括对R语言扩展包的简要介绍、在R语言中编程的提示、面向新手的提示以及证明如何在使用R语言的当前兴趣领域使用该技术的证据。软件 部分在 CRAN镜像 中包含 R语言源代码、R语言二进制文件、包 和 其他。文档 部分在 CRAN镜像 中包含 手册、常见问题解答 和 贡献。手册 由R语言开发核心团队编辑,可以下载为PDF文件、EPUB文件或直接浏览为HTML文件。R语言常见问题解答 是一个通用集合,包含所有平台用户的有用信息。贡献 包含用户提供的手册、教程等。
- 访问 https://www.r-project.org.cn/。
- 点击下载R语言链接。
- 然后选择一个离您最近的位置。
- 点击您的操作系统(Linux、MacOS X、Windows)并按照说明进行操作。
如果您是Mac用户,请下载最新的.dmg文件并按照说明进行操作。对于“Windows”,请点击“base”,然后点击下载Windows版R语言的链接。(在链接中,当前版本号出现在“R”之后。)当对话框打开时,点击“运行”,应该会出现“安装向导”。一直点击“下一步”直到向导完成。
R语言有很多开源图形用户界面,包括著名的RStudio。最流行的GUI,RStudio是用C++编程语言编写的,并使用Qt作为其图形用户界面[9]。RStudio的开发始于2010年12月左右[10],第一个公开的BETA版本(v0.92)于2011年2月正式发布[11]。RStudio有两种版本:RStudio Desktop,该程序作为常规桌面应用程序在本地运行;以及RStudio Server。
RStudio屏幕包含 编辑器窗口、控制台窗口、项目窗口 以及 文件/当前目录/已加载的包/帮助/查看器。
R 非常强大,它包含了称为包的 R 函数、数据和编译代码集合,这些集合以定义良好的格式[12] 存储。存储包的目录称为库。R 本身在安装时包含一组标准包。安装后,需要将它们加载到会话中才能使用。在 综合 R 档案网络 (CRAN)、Bioconductor、Omegahat、Github 和其他存储库中,有超过 5,800 个额外的包可用。[13][14]
- R 包的可用性
> browseURL("https://cran.r-project.org.cn/web/views")
- 计算机或服务器中已安装的包列表。此列表在 R 编辑器中显示。
> library()
Warning message:
In library() : library ‘/usr/lib/R/site-library’ contains no packages
- 计算机或服务器中当前活动的包列表。
> search()
[1] ".GlobalEnv" "tools:rstudio" "package:stats" "package:graphics" "package:grDevices"
[6] "package:utils" "package:datasets" "package:methods" "Autoloads" "package:base"
- 安装新包
> install.packages("PK")
Installing package into ‘/home/hanjind/R/x86_64-pc-linux-gnu-library/3.0’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
- library("<包名称>") 加载库
>library("PK")
- 包的文档可以在编辑器中列出。
> library(help="PK")
Information on package ‘PK’
Description:
Package: PK
Version: 1.3-2
Date: 9. August 2013
Title: Basic Non-Compartmental Pharmacokinetics
Author: Thomas Jaki <jaki.thomas@gmail.com> and Martin J.
Wolfsegger <wolfseggerm@gmx.at>
Maintainer: Thomas Jaki <jaki.thomas@gmail.com>
Depends: R (>= 2.2.1), utils
Description: Estimation of pharmacokinetic parameters using
non-compartmental theory
License: GPL-2
Acknowledgement: Alexander Bauer, John-Philip Lawo and Helmut
Schuetz for extensive testing
Packaged: 2013-08-09 18:53:55 UTC; jack
NeedsCompilation: no
Repository: CRAN
Date/Publication: 2013-08-10 01:05:38
Built: R 3.0.2; ; 2015-08-20 03:23:11 UTC; unix
:
- 升级包
> update.packages()
--- Please select a CRAN mirror for use in this session ---
Warning: package 'XML' in library '/usr/lib/R/site-library' will not be updated
Warning: package 'lattice' in library '/usr/lib/R/library' will not be updated
Warning: package 'Matrix' in library '/usr/lib/R/library' will not be updated
Amelia :
Version 1.7.3 installed in /home/hanjind/R/x86_64-pc-linux-gnu-library/3.0
Version 1.7.4 available at http://cran.utstat.utoronto.ca
Update (y/N/c)? y
curl :
Version 0.9.4 installed in /home/hanjind/R/x86_64-pc-linux-gnu-library/3.0
Version 0.9.6 available at http://cran.utstat.utoronto.ca
Update (y/N/c)? y
digest :
Version 0.6.8 installed in /home/hanjind/R/x86_64-pc-linux-gnu-library/3.0
Version 0.6.9 available at http://cran.utstat.utoronto.ca
- 删除包
> detach("package:PK",unload=TRUE)
如何输入数据
[edit | edit source]- 顺序数据
> x<-1:15
> x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
- 非顺序数据
> y<-c(3,5,7,1,10,15)
- 列表对象
> ls()
导入/导出数据
[edit | edit source]平面文件
[edit | edit source]x <- read.csv("Degas.txt", sep=";",header=FALSE, comment.char="\\")
somedata<-read.table(file="/home/hanjind/Rworkspace/NMR.csv",header=TRUE,sep=",")
write.table(y,"\\home\\hanjind\\Rdata\\y.txt")
数据库
[edit | edit source]connection<-dbConnect(driver,user,password,host,dbname)
mouse1<-dbSendQuery(connection,"SELECT*FROM AHW")
connection<-dbConnect(driver,user,password,host,dbname)
dbWriteTable(con,"mouse1",mouse1)
R 对象
[edit | edit source]load('FTIRNal.Rdata')
save(Nal,file="New_FTIR.Rdata")
网络
[edit | edit source]example.3 <- read.table("http://www.unt.edu/rss/class/Jon/R_SC/Module3/ExampleData3.txt",header=TRUE, sep="", na.strings="NA", dec=".", strip.white=TRUE)
绘图/图片
[edit | edit source]png(filename="your/file/location/name.png",height=295,width=300,bg="white")
plot(fit)
dev.off()
启动 R 项目或打开 R 文件
[edit | edit source]参考文献
[edit | edit source]- ↑ Fox, John 和 Andersen, Robert (2005 年 1 月)。"使用 R 统计计算环境教授社会统计课程" (PDF)。麦克马斯特大学社会学系. 检索于 2006-08-03.
{{cite journal}}
: Cite journal requires|journal=
(help)CS1 maint: multiple names: authors list (link) - ↑ Gentleman, Robert (2006 年 12 月 9 日)。"Robert Gentleman 个人专业简介"。存档于 原文 中,于 2011 年 7 月 23 日. 检索于 2009-07-20.
- ↑ "R 新闻"。cran.r-project.org. 检索于 2014-07-03.
- ↑ Eddelbuettel, Dirk; Francois, Romain (2011)。"Rcpp:R 和 C++ 的无缝集成"。统计软件杂志。40 (8).
- ↑ Temple Lang, Duncan (2010 年 11 月 6 日)。"从 Java 调用 R" (PDF)。Nuiton. 检索于 2013 年 9 月 18 日.
- ↑ "使用 C# 和 R 创建 GUI,借助 R.NET".
- ↑ "R.NET 主页".
- ↑ Haynold, Oliver M. (2011 年 4 月)。"CLI/.NET 的 Rserve 客户端实现"。R/Finance 2011。芝加哥,伊利诺伊州,美国. http://www.rinfinance.com/agenda/2011/OliverHaynold.pdf.
- ↑ Verzani, John。RStudio 入门。O'Reilly Media, Inc. 第 4 页。 ISBN 9781449309039.
- ↑ "便携式 Java 依赖项下载 · rstudio/rstudio@484cb88 · GitHub"。Github.com。2010-12-07. 检索于 2015-05-01.
- ↑ "RStudio,用于 R 的新开源 IDE | RStudio 博客". Blog.rstudio.org. 检索于 2015-05-01.
- ↑ quickR
- ↑ Robert A. Muenchen (2012). "数据分析软件的流行度".
- ↑ Rdocumentation