数学函数:
统计函数:
概率分布:
用R算微积分:
字符串函数:
exp(x) | 以自然常数e为底的指数函数 |
log(x,base=n) | 对数,base不写默认自然对数 |
log10(x) | 以10为底的对数 |
sqrt(x) | 平方根 |
abs(x) | 绝对值 |
sin(x),cos(x),tan(x) | 三角函数 |
acos(x),asin(x),atan(x) | 反三角函数 |
cosh(x),sinh(x),tanh(x) | 双曲三角函数 |
acosh(x),asinh(x),atanh(x) | 反双曲三角函数 |
min(x),max(x) | 向量的最小,最大值 |
which.min(x),which.max(x) | 向量最小,最大元素的位置索引 |
pmin(x,y...),pmax(x,y....) | 把多个等长向量按元素逐个对比,返回所有向量的第k个元素中的最小(最大值)。 例子:pmax(c(1,2,3,4),c(2,3,4,5),c(3,4,2,5)) 输出:[1] 3 4 4 5 |
sum(x),prod(x) | 把一个向量的所有元素求和(求积) |
cumsum(x),cumprod(x), cummax(x),cummin(x) | 累计求和(求积、求最大值、求最小值) |
round(x,digits=n),signif(x,digits) | 都是四舍五入,round是保留指定位的小数,signif是保留指定有效位数 |
floor(x),ceiling(x),trunc(x) | 向上取整,向下取整和截断取整 |
factorial(x) | 阶乘 |
以上函数可以用在单个数字里,也可以用在向量里。
统计函数:
mean(x) | 平均值 |
median(x) | 中位数 |
sd(x) | 标准差 |
var(x) | 方差 |
mad(x) | 绝对中位差 |
quantile(x,probs) | 求分位数,probs必须是[0,1]间的数。 #q求x的30%和84%的点 y<-quantile(x,c(0.3,0.84)) |
range(x) | 求值域 |
diff(x,lag=n)
|
滞后查分,lag指定滞后几项。默认的lag值为1
|
概率分布:
在R中,概率函数形如:
[dpqr]distribution_abbreviation()
其中第一个字母表示所指的分布的某一方面:
d=密度分布(density)
p=分布函数(distribution function)
q=分位数函数(quantile function)
r=生成随机数
rnorm(n, mean = 0, sd = 1)产生一组正态分布随机数,n为数字时,产生n个随机数,n为一个向量时,产生length(n)个随机数。
[dpqr]distribution_abbreviation()
其中第一个字母表示所指的分布的某一方面:
d=密度分布(density)
p=分布函数(distribution function)
q=分位数函数(quantile function)
r=生成随机数
rnorm(n, mean = 0, sd = 1)产生一组正态分布随机数,n为数字时,产生n个随机数,n为一个向量时,产生length(n)个随机数。
用R算微积分:
微分函数D:
> D(expression(exp(x^2)),"x")
exp(x^2) * (2 * x)
微分函数integrate:
> integrate(function(x) x^2,0,1)
0.3333333 with absolute error < 3.7e-15
以上两个函数代表:
> D(expression(exp(x^2)),"x")
exp(x^2) * (2 * x)
微分函数integrate:
> integrate(function(x) x^2,0,1)
0.3333333 with absolute error < 3.7e-15
以上两个函数代表:
expression函数和text函数结合使用可以产生数学标注。
详细查询:
help(plotmath)
example(plotmath)
demo(plotmath)
字符串函数:
nchar(x) | 计算单个字符串字符数 |
substr(x,star,stop) | 截取子字符串 |
grep(pattern,x,ignore,case=FALSE,fixed=FALSE) | 在x中搜索某种模式。若fixed=FALSE,则pattern为一个正则表达式。若fixed=TRUE,则pattern为一个文本字符串。返回值为匹配的下标。 grep("A",c("b","A","c"),fixed=TRUE)返回值为2 |
sub(pattern,replacement,x, ignore.case=FALSE,fixed=FALSE) | 在x中搜索pattern,并以文本replacement将其替换。若fixed=FALSE,则pattern为一个正则表达式。若fixed=TRUE。则pattern为一个文本字符串。 |
gsub(pattern,replacement,x, ignore.case=FALSE,fixed=FALSE) | 和上面的sub作用一样,但是gsub是替换所有,sub是替换第一个 |
strsplit(x,split,fixed=FALSE) | 分割字符创,strsplit("abc","")返回c("a","b","c") |
paste(...,sep=" ") | 字符串连接 |
toupper(x) | 大写转换 |
tolower(x) | 小写转换 |
sprintf(fmt, ...) | 格式化返回值: > sprintf("%s %d", "test", 1) [1] "test 1" > sprintf("%s %d", "test", 1:3) [1] "test 1" "test 2" "test 3" |
regexpr(pattern,text) | 在text中寻找pattern并返回第一个匹配位置。 |
grepexpr(pattern,text) | 和regexpr差不多,但是是返回所有匹配位置。 |