max(向量名) :返回向量最大值
min(向量名) :返回向量最小值
range(向量名) :返回向量中的上界和下界
mean(向量名) :返回向量平均值
var(向量名) :返回向量的方差
sd(向量名) :返回向量的标准差
prod(向量名) :向量中所有值的乘积
median(向量名) :求中位数
quantile(向量名) :求分位数, quantile(x,c(0.4,0.5,0.8) 求出向量x的四分位,五分位和八分位值。
abs(向量名) :返回绝对值
sqrt(向量名) :计算平方根
log(向量名/值,base=底数值) :取对数
exp(向量名) :计算向量中每个元素的指数
sin(向量或值) :正弦三角函数
cos(向量或值) :余弦三角函数
ceiling(向量名) :向上取整
floor(向量名) :向下取整
trunc(向量名) :舍去小数,取整
round(向量名) :四舍六入五留双(五留双含义整数部分为偶数留整数,奇数部分进一,例如4.5留4,5.5留6)
round(向量名,digits=数值x): round函数下保留x位小数,digits指小数点后位数
sigif(向量,digits=数值x) :截取数据,digits指有效数字的位数
下标从1开始
which.max(向量名) :返回最大元素的索引值
which.min(向量名):返回最小元素的索引值
which(t>5):返回元素值大于5的索引位置
t[which(t>5)]:返回元素值大于5的元素位置上的值
r语言中的arcsin在哪个包没有,只有一个Atn()是VB反正切函数,VB不提供其他反三角函数,不过可以用下列公式导出:
反正弦
Arcsin(X) = Atn(X / Sqr(-X * X + 1))
反余弦
Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
反正割
Arcsec(X) = Atn(X / Sqr(X * X - 1)) + Sgn((X) - 1) * (2 * Atn(1))
反余割
Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1))
用内置函数 optim()optim(par,fun,lower,upper,method) 大致用到这5个参数
par是初始值,你选离你峰值差不远的x
fun是生成你正弦波的函数
lower和upper定义域
method用 "BFGS"牛顿迭代法,或者"L-BFGS-B"升级版牛顿迭代法。
以下是得到的结果,我用f(x)=x^2-2*x+1试了以下
>optim(3,fun,lower=-5,upper=5,method="BFGS")
$par
[1] 1 # x值
$value
[1] 0 # y值
$counts
function gradient # 不知道是什么
44 44
$convergence
[1] 52 # 算了多少次收敛