R语言常用函数整理(包括基本对象处理、字符处理、数学、统计函数)
Functions in R
处理数据对象的函数
- length(object)
- 显示对象中元素/成分的数量
- dim(object)
- 显示某个对象的维度
- str()
- 显示某个对象的结构
- class()
- 显示某个对象的类或类型
- mode()
- 显示某个对象的模式
- names()
- 显示某对象中各成分的名称
- c(object, object, …)
- 将对象合并入一个向量
- cbind(object, object, …)
- 按列合并对象
- rbind(object, object, …)
- 按行合并对象
- head()
- 列出数据框的前6行
- tail()
- 列出数据框的最后6行
- ls()
- 显示当前的对象列表
- rm(object, object, …)
- 删除一个或多个对象
- 语句
rm(list = ls())
将删除当前工作环境中的几乎所有对象
- newobject <- edit(object)
- fix(object)
数学函数
- abs(x)
- 绝对值
- sqrt(x)
- 平方根
- ceiling(x)
- 不小于x的最小整数
- floor(x)
- 不大于x的最大整数
- trunc(x)
- 向0的方向截取的x中的整数部分
- round(x, digits=n)
- 将x四舍五入到n位小数
- signif(x, digits=n)
- 将x四舍五入到n位有效数字
- 注意这里的有效数字包括整数位(要和round函数区分开)
- cos(x)、sin(x)、tan(x)
- 正弦、余弦、正切
- acos(x)、asin(x)、atan(x)
- 反余弦、反正先、反正切
- cosh(x)、sinh(x)、tanh(x)
- 双曲余弦、双曲正弦、双曲正切
- acosh(x)、asinh(x)、atanh(x)
- 反双曲余弦、反双曲正弦、反双曲正切
- log(x, base=n)
- 对x取以n为底的对数
- log(10)返回值为2.3026
- 方便起见
- log(x)为自然对数
- log10(x)为常用对数
- exp(x)
- 指数函数
- exp(2.3026)返回值为10
统计函数
- mean(x)
- 平均值(期望值)
- median(x)
- 中位数
- sd(x)
- 标准差
- var(x)
- 方差
- mad(x)
- 绝对中位差
- quantile(x, probs)
- 分位数
- 参数
- x表示待求分位数的数值型向量(也就是原始数据)
- probs为一个[0,1]之间的概率值组成的数值向量(例如
probs=c(0.25,0.5,0.75)
表示分别求出0.25,0.5,0.75分位数)
- range(x)
- 值域
- 例如若
x<-c(1,2,3,4)
,那么range(x)
返回值为c(1,4)
,diff(range(x))
返回值为3
- sum(x)
- 求和
- diff(x, lag=n)
- 滞后差分
- lag用于指定滞后几项(lag默认为1)
- min(x)
- 最小值
- max(x)
- 最大值
- scale(x, center=TRUE, scale=TRUE)
- 默认为数据对象x按列进行均值为0、标准差为1的中心化(center=TRUE)或标准化(center=TRUE, scale=TRUE)
- 要对每一列进行任意均值和标准差的标准化,可以
mydata<-scale(data)*SD+M
- 其中M是想要的均值
- SD为想要的标准差
- 在非数值型的列上用scale函数会报错
- 如果要对指定列而不是整个数据框的所有列进行标准化,可以用$符号进行数据框列的选择
概率函数
- 概率函数通常用来生成特征已知的模拟数据,以及在用户编写的统计函数中计算概率值
- 概率函数中的第一个字母
- d(density)
- 密度函数
- p(distribution function)
- 分布函数
- q(quantile function)
- 分位数函数
- r(random number)
- 生成随机数(随机偏差)
- d(density)
- beta
- beta分布
- binom
- 二项分布
- cauchy
- 柯西分布
- chisq
- (非中心)卡方分布
- exp
- 指数分布
- f
- F分布
- gamma
- gamma分布
- geom
- 几何分布
- hyper
- 几何分布
- lnorm
- 对数正态分布
- logis
- Logistic分布
- multinom
- 多项分布
- nbinom
- 负二项分布
- norm
- 正态分布
- 均值和标准差默认为0和1(标准正态分布)
- 相关函数
- dnorm(x)
- pnorm(x)
- qnorm(x)
- rnorm(x)
- pois
- 泊松分布
- signrank
- Wilcoxon序号秩分布
- t
- T分布
- unif
- 均匀分布
- weibull
- Weibull分布
- wilcox
- Wilcoxon秩和分布
字符处理函数
- nchar(x)
- 计算x中的字符数量
- substr(x, start, stop)
- 提取或替换一个字符向量中的字串
- 例如:
substr(x,2,4)
返回"bcd"
substr(x,2,4) <- "22222"
返回"a222ef"
- sub(pattern, replacement, x, ignore.case=FALSE, fixed=FALSE)
- 在x中搜索pattern,并用文本replacement替换
- 若fixed=FALSE,则pattern为正则表达式,否则为文本字符串
- strsplit(x, split, fixed=FALSE)
- 在split处分割字符向量x中的元素
- 若fixed=FLASE,则pattern是一个正则表达式,否则为一个文本字符串
- paste(…, sep=“”)
- 连接字符串,分隔符为sep
- 例如:
paste("x", 1:3, sep = "M")
会返回c("xM1", "xM2", "xM3")
- toupper(x)
- 大写转换
- tolower(x)
- 小写转换
其他实用函数
- seq(from, to, by)
- 生成一个序列
- rep(x, n)
- 将x重复n次
- cut(x, n)
- 将连续型变量x分割为有n个水平的因子
- 使用参数ordered_result = TRUE创建一个有序性银子
- pretty(x, n)
- 创建美观的分割点
- 通过选取n+1个等间距的取整值,将一个连续型变量x分割为n个区间
- 绘图中常用
- cat( )
- 链接对象并输出到屏幕上或文件中
参考资料:《R语言实战(第2版)》[美]Robert I. Kabacoff 著,王小宁 等 译