r语言如何入门 R语言实战自学笔记

第一部分 入门第1章 R语言介绍

1.1 为何要使用R?

  • 开源,免费;
  • 一个全面的统计研究平台,几乎任何类型的数据分析皆可在R中完成;
  • 顶尖水准的制图功能;
  • 一个可进行交互式数据分析和探索的强大平台;
  • R可以轻松地从各种类型的数据源导入数据;
  • R是一个无与伦比的平台,在其上可使用一种简单而直接的方式编写新的统计方法;
  • R囊括了在其他软件中尚不可用的、先进的统计计算例程;
  • R可运行于多种平台之上,包括Windows、UNIX和Mac OS X;
  • 简单易学。

1.2 R的获取和安装

R的安装

R的获取:CRAN (Comprehensive R Archive Network) http://cran.r-project.org

RStudio获取:https://rstudio.com

RStudio是一款R语言的IDE,是辅助你使用R进行编辑的工具。安装:先安装R,再安装RStudio。

R的更新

查看R版本:version。

方法1:

1、下载最新版的R并安装

2、打开新版的R输入update.packages(checkBuilt=TRUE,ask=FALSE)(这一步是将旧版的包迁移到了新版)

3、删除旧版的R,更新完成。

方法2:

1、install.packages(“installr”)

2、library(installr)

3、updateR()

RStudio更新

打开RStudio,点击Help,从下拉菜单中选择Check for Updates即可。

1.3 R的使用

R使用 <- 作为赋值符号。注释由符号 # 开头。在 # 之后出现的任何文本都会被R解释器忽略。

1.3.1 新手上路

《R语言实战》例子:

age <- c(1, 3, 5, 2, 11, 9, 3, 9, 12, 3) # 构建向量age。 weight <- c(4.4, 5.3, 7.2, 5.2, 8.5, 7.3, 6.0, 10.4, 10.2, 6.1) # 构建向量weight。 mean(weight) # weight求平均值。

## [1] 7.06

sd(weight) # weight求标准差。

## [1] 2.077498

cor(age, weight) # age和weight的关系系数。

## [1] 0.9075655

plot(age, weight) # 绘制age和weight关系图。

r语言如何入门 R语言实战自学笔记(1)

1.3.2 获取帮助

?函数名即可查看相关函数功能,如?mean就是查看函数mean的帮助文档。帮助文档包括对函数的基本描述,函数公式解释,公式内各参数的解释,参考文献等,最下面还给出了示例。对英文不好的我而言,看英文帮助文件费时费力,可以借助百度搜索来学习包或者函数的功能。

r语言如何入门 R语言实战自学笔记(2)

1.3.3 工作空间

工作空间:R当前的工作环境,储存着用户定义的对象(向量,矩阵,函数,数据框,列表)。

工作目录:R用来读取文件和保存结果的默认目录。

getwd()查看当前工作目录;setwd()设定当前工作目录,注意setwd()命令里的路径使用正斜杠。

r语言如何入门 R语言实战自学笔记(3)

1.3.4 输入输出

1.输入

函数source(“filename”)可在当前会话中执行一个脚本。

2.文本输出

函数sink(“filename”)将输出重定向到文件filename中。

3.图形输出

在R studio中完成数据的输入输出及可视化更为便捷。

r语言如何入门 R语言实战自学笔记(4)

1.4 包

1.4.1 什么是包

包是R函数、数据、预编译代码以一种定义完善的格式组成的集合。

R自带了一系列默认包,包括base、datasets、utils、grDevices、graphics、mydata、methods。

扩展包:R扩展包数不胜数,如数据可视化包ggplot2、数据处理包dplyr等,根据自身需求寻求包并下载使用。

1.4.2 包的安装

方法1:在R或者RStudio的console中键入命令install.packages(“R包名”)。要多个包一起安装,install.packages(c(“package 1”,“package 2”,···))。

方法2:在RStudio右下角窗口中的Packages中点击install,在跳出的窗口中输入想要安装的包,点击install。

方法3:点击RStudio主菜单Tools,选择install packages…,在跳出的窗口中的Packages栏键入想要安装的包名称,点击install。

1.4.3 包的载入

载入包:library(包的名称)。如library(ggplot2)就是载入ggplot2包。也可使用require(包的名称)。移除使用的包:detach(package:包的名称)。

1.4.4 包的使用

包的相关操作

获取包的信息:??R包名。也可以用help(package=“R包名”)。

获取所有已安装的包的列表:installed.packages()。也可以用(.packages(all.available = T))。

获取R包所在库的路径:.libPaths()。

获取当前R环境中加载的所有包:search()。

查看已加载的包:(.packages())。

包的更新

方法1:update.packages(“R包名”)。

方法2:在RStudio右下角窗口中的Packages中点击Update。

方法3:点击RStudio主菜单Tools,选择Check for Packages Updates,在跳出的选择框中勾选你要更新的包,点击Install Updates。

1.4.5 包的卸载

方法1:remove.packages(“R包名”)。

方法2:在RStudio中Packages中勾选想要卸载的包,在包最右侧点×进行卸载。

1.5 批处理

1.6 将输出用为输入–结果的重用

lm(mpg ~ wt,data = mtcars) # 数据集mtcars做线性回归。结果在屏幕呈现,但不会保存。

## ## Call: ## lm(formula = mpg ~ wt, data = mtcars) ## ## Coefficients: ## (Intercept) wt ## 37.285 -5.344

lmfit <- lm(mpg ~ wt,data = mtcars) # 将线性回归的结果保存在lmfit中。 summary(lmfit) # 分析结果呈现。

## ## Call: ## lm(formula = mpg ~ wt, data = mtcars) ## ## Residuals: ## Min 1Q Median 3Q Max ## -4.5432 -2.3647 -0.1252 1.4096 6.8727 ## ## Coefficients: ## Estimate Std. Error t value Pr(>|t|) ## (Intercept) 37.2851 1.8776 19.858 < 2e-16 *** ## wt -5.3445 0.5591 -9.559 1.29e-10 *** ## --- ## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 ## ## Residual standard error: 3.046 on 30 degrees of freedom ## Multiple R-squared: 0.7528, Adjusted R-squared: 0.7446 ## F-statistic: 91.38 on 1 and 30 DF, p-value: 1.294e-10

1.7 处理大数据集

R可以处理GB级到TB级的数据分析问题,但需要专门的手段。

1.8 示例实践

1.9 小结

R代码编写规范

  • R文件名应该以.R结尾;
  • 变量命名应全部小写,字与字之间用小黑点分隔;函数命名字与字之间没有分隔,但每个字首字母大写;
  • 每一行代码长度不超过80个字符;
  • 缩进代码时使用两个空格的长度;
  • 请在所有的二元操作符( , -, *, <-, etc)两边都加上空格,逗号前一定不能有空格,逗号后一定得有空格。
  • 当注释你的代码的时候,所有的注释都应该以#开头,并空一个空格。短注释应该和代码同行,而后空两个空格,以#开头,空一个空格,随后写注释。5

参考资料

  1. 《R语言实战》(中文版),人民邮电出版社,2013.
  2. R 语言的优劣势是什么?https://www.zhihu.com/question/19611094
  3. R | 如何更新R版本及Rstudio,https://blog.csdn.net/weixin_41859179/article/details/97570369
  4. R语言-包的安装、载入及使用方法,https://blog.csdn.net/u012325865/article/details/85549555
  5. R编程规范,https://blog.csdn.net/u012311410/article/details/69787569
,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页