第一节 R语言简介
R 既是一种语言(R是一种解释性语言),也是一个软件由AT&T贝尔实验室的S语言发展而来具有统计分析功能和强大的作图功能开源软件
目前在 R 网站上有 17500个程序包,涵盖了基础统计学、社会学、经济学、生态学、地理学、医学统计学、生物信息学等诸多方面.
- R语言的优势
开源免费 提供丰富的统计分析工具 可以运行在多种平台,Windows、Linux、Mac
-
R语言参考书籍:《数据挖掘与R语言》 《R语言实战》 《R语言编程艺术》
- R软件的下载与安装
- R-GUI编辑环境:网站http://cran.r-project.org/ 或 Download R for Windows
- RStudio是用于R语言开发的一个简单而功能强大的图形界面工具,下载地址https://www.rstudio.com/products/rstudio/download/
二.Rstudio
- Console:命令窗口,Tab、向上、向下键辅助输入。
- 文本编辑窗口:保存程序命令
- Environment:显示当前程序用的对象
- History:显示历史命令,可以to console
- File:文件存储路径
- Plots:显示图形
- Packages:加载的包
- 几个常用的命令
(1)工作路径设置
- 菜单命令
- setwd(“d:\\mywork”) setwd(“d:/myword”)
- getwd() 获取工作路径
(2)历史命令
- 向上、向下或者Ctrl+p、Ctrl+N
(3)其他命令
- ls()列出内存中对象
- rm(list=ls(all=TRUE)) 把当前环境中的对象全部删除
- search()列出所加载的包
- help()帮助命令 或 使用“?”
(4)注释显示乱码 File Reopen with Encoding...
(5)修改界面显示字体、快捷键、R版本 tools
2. 包package
作用:特定的分析功能,需要用相应的程序包实现。例如:做生存分析,要用到 survival 程序包; 做meta分析,要用到 meta 包等等。
包是R函数、数据文件、帮助文档组成的集合。相当于C语言中的库
存储包的目录称为库(library)。
- 包下载
从官网下载,安装本地包
install.packages() 打开安装包目录
install.packages(“包名”) 安装一个包
- 包加载(包卸除:detach(“package:ggplot2”) )
library(包名) 加载一个包
search() 查看已经加载的所有包
- 查看包的信息
help(package=“包名”)
(1)常用包
R提供了大量功能各异的包 技术:绘图类、统计检验类、机器学习
行业:微阵数据、信用风险建模、社会科学等
- base: 基本函数包,包括算术运算
- boot:自助重复抽样
- class:分类算法,包括最近邻、学习矢量化
- foreign:读取其他格式数据包,如SPSS等
- graphic:基本绘图函数
- ggplot2:高级绘图包
- 如何安装R程序包(packages)
- 在线安装 install.packages(“package_name")
- 离线安装 https://cran.r-project.org/web/views/
注意:“*.tar.gz”是针对LINUX系统的,“*.tgz”是用于MAC OS的,只有“*.zip”才是用于WIN系统的,这一点非常关键。
- 如何加载R程序包(packages)
- 使用函数libray(包名)或require(包名)
- 菜单操作:√右下角的plots旁边的packages
3 . .Rdata和.history
以“.”开头的文件,通常用作配置,系统默认隐藏这类文件。
- “.Rdata”是保持工作空间的默认文件。
- “.history”是保存历史命令的默认文件。
如果打开Rstudio特别慢,可能是因为.Rdata保存了很大的变量,可以找到.Rdata文件删掉。
- Rstudio 输出结果
第二节 R 语言中的数据对象
一、数据对象object
1.数据对象(基本知识)
- 数据对象:在R中创建和控制的实体,也称变量;
- 对象命名 以字母开头,中间可以包含字母、数字、点及下划线。
区分大小写
不能使用关键字,如NA ,for 等
- 对象赋值 赋值符号:->、<-、=
- 对象查询 查询所有对象ls()
查询特定格式对象ls(pat=“m”)
查询对象及内容ls.str()
- 删除对象 rm()
- 数据对象(类型和属性)
数据对象的属性:类型,模式、长度、维度、名称等;
数据对象(变量)的类型
数据对象的类型 |
含义 |
数值型(numeric) |
整数(integer)、单精度和双精度(double) |
逻辑型(logical) |
值为TRUE或FALSE |
字符型(character) |
用单引号或者双引号引用 |
复数型(complex) |
a+bi |
原子型(raw) |
二进制形式保存 |
3.特殊的数据对象
- inf 无穷, 如1/0=inf,即Infinity,无穷大;
- NaN 不确定,即“Not a Number(非数)” ;
- NA 缺失或无法得到 ,是“not available”的缩写;
- NULL 空; NA代表位置上的值为空,NULL代表连位置都没有,变量为空,其长度为0,表明“空无一物”。
- 对象类型判别与转换函数
类型 |
判别函数 |
转换函数 |
数值 |
is.numeric() |
as.numeric() |
整数 |
is.integer() |
as.integer() |
双精度 |
is.double() |
as.double() |
复数 |
is.complex() |
as.complex() |
字符 |
is.character() |