作图美观、完全免费、算法覆盖广、软件易扩展、强大的社区支持、非过程模式、交互性、统计学特性、开源软件
数学思维、统计思维(从思维科学角度可分为描述、概括、分析)、逻辑思维(上取/下钻思维、求同/存异思维、抽离/联合思维、离开/接近思维)
常用统计量:求和、平均值、中位数、最大值
??foo 查看函数foo的帮助
example("foo") 函数foo的使用示例
apropos("foo",mode="function") 列出名称里有foo的所有可用函数
data() 列出当前已加载包中所含的所有可用示例数据集
help.start() 跳转到R的帮助页面
getwd() 显示当前的工作目录
setwd("workspace") 修改当前工作目录为workspace(路径中将 \ 或 / / 作为转义符—)
ls() 列出当前工作空间中的对象
rm() 移除或删除一个或多个对象
q() 退出R
intall.packages(" ") 安装R包
library( ) 加载到内存
.llibPaths() 显示包所在位置
library() 显示已加载的包
source(" ") 在当前会话中执行一个脚本
sink("myfile") 输出重定向到文件myfile中
变量 包括数值型、字符型、逻辑型、复数型、字节
也可分为名义型、有序型、连续型
类别变量(名义型变量、响应变量)和有序类别(有序型)变量在R中成为因子
factor( )可为类别型变量创建值标签
常量 NA 表示不可用
Inf 表示无穷
-Inf 表示负无穷
TRUE 表示真
FALSE 表示假
向量
①产生向量 c(.....) 自定义量
from:to 产生一个序列
seq( ) 产生一个等差向量序列 seq(开始值,结束值,公差,长度)
rep( ) 重复一个对象 rep(x,重复次数)
rnorm( ) 随机产生正态分布向量 rnorm(个数,均值,方差)
②向量引用 通过下标值进行引用,且下标从1开始,而非从0开始
x[3] 取x中下标为3的值
x[-3] 取x中排除下标为3的所有值
x[3:6] 取x中下标从3到6的所有值
x[which(x>6)] 取x中满足x>6的所有值
x[which.max(x)] 取x中的最大元素,最小元素为which.min()
③向量运算
sqrt(x) 开方
crossprod(x,y) 内积(也可为t(x)%*%y)
tcrossprod(x,y) 外积(%o%)
length(x) 向量长度
矩阵
①创建 matrix(data,c(nrow,ncol),byrow=TRUE) / matrix(data,nrow=,ncol=,byrow=T)
data为矩阵元素,nrow为行数,ncol为列数,byrow=true表示按行填充,false为按列填充,默认按列填充。
②引用 类似于向量引用,a[x,y]表示返回第x行y列的元素
③运算 t(y) 转置
cbind() 横向合并矩阵
rbind() 纵向合并矩阵
as.vector() 将矩阵转化为向量
dim()、nrow()、ncol() 返回矩阵维度
colSums()、colMeans() 对矩阵各列求和、求均值
rowSums()、rowMeans() 对矩阵各行求和、求均值
det() 计算行列式
数据框
不同列可包含不同类型的数据,数据框是R中最常处理的数据类型
①创建 data.frame(col1,col2,col3,...)
②引用类似于矩阵
a[,2] 与 a$列名 等价
③修改行/列名称
colnames(<数据框>)读取并编辑列名称 如:colnames(dataset)[1]<-"a"
row.names(<数据框>)读取并编辑行名称
列表
list(object1,object2,...)
数组
array(data,dimensions)
data包含数组中的数据,dimensions给出各维度下表最大值
如array(1:24,c(2,3,4))
引用与矩阵相同
字符串操作
求长度 nchar()
字符串合并 paste(str1,str2,sep) sep为分隔符
字符串分割 strsplit(string,sep)
读取和替换字符串 substr(string,start,stop)
字符串替换 charstr(old,new,string)
数据导入
1.键盘输入 edit( )
例如:data<-data.frame() data<-edit(data)
2.导入文本文件 read.table()
3.导入Excel文件 read.xlsx()
4.导入csv文件 read.csv() sep = "\t"
5.导入文件 read.delim() sep = "."
数据导出
1. 导出文本文件
write.table(x,file="",sep="",row.names=TRUE,col.names=TRUE,quote=TRUE)
2.导出csv文件
write.csv(f,file="")