R常见函数整理

最近在学习R语言,整理了一些函数

与包有关的函数

source()

载入自编函数和包

install.packages

安装大部分的cran包,一般只安装一次、以后使用只需要载入

library

载入已经安装的包,每次的重启代码都需要载入

require

判断包是否加载,否就是直接加载。并返回T,若不存在则返回F

设置工作路径的函数

函数

功能

getwd()

显示当前工作目录

setwd(“mydir”)

修改当前工作目录

ls()

列出当前工作看见的所有对象

rm()

删除一个或多个对象

help(options)

显示可用选项的说明

sava.image(“mgfile”)

保存工作看见到文件mgfile.Rdata中

load(“mgfile”)

读取一个工作看见mgfile.Rdata

q()

退出,并询问是否保存当前工作空间

辨别和转换数据对象类型的函数

数据类型

辨别函数

转换函数

character

is. character()

as. character()

complex

is. complex()

as. complex()

double

is. double()

as. double()

integer

is. integer()

as. integer()

logical

is. logical()

as. logical()

NA

is.na()

as.na()

numeric

is. numeric()

as. numeric()

向量

函数

作用

paste()

把自变量对应元素连成一个字符串

Assign()

对向量进行赋值

seq(from,to,by), from表示起始值,to表示序列终止值,by表示步长(默认步长为1)

生成有规则序列

rep(),rep(x,time,…),x表示重复的对象,times表示重复的次数

函数可以用各种复杂的方式重复一个对象

length()

返回向量的最大值

range()

返回向量的范围

mode()

返回向量的数据类型

min()

返回向量的最小值

max()

返回向量的最大值

which.min(),which.max()

返回在第几个分量求导最小值和最大值

mean()

求向量均值

median()

求中位数

var()

求方差

sd()

求标准差

sort()

排序,是升序

rev()

将向量按原方向的反方向排列

rank()

给出向量的秩

prod()

求向量连乘积

append()

为向量添加元素

replace()

替换

match()

匹配

pmatch()

部分匹配

all()

判断所有

any()

判断部分

prod()

outer(a,b,function)

当function为空时表示a,b二个向量的外积

矩阵

matrix(data=NA,nrow,nrol,byrow,dimnames)

生成二维数组

t()

求转置

crossprod(A,B)

矩阵相乘

diag()

生成以这样向量为对角元素的对角矩阵;当只输入一个正数时,则会生成对于维数的单位矩阵

solve()

求逆

solve(a,b)

解线性方程组ax=b,b默认是单位矩阵

chol()

进行Choleskey分解;若矩阵为对称正定阵,可以利用Choleskey分解求行列式的值以及矩阵的逆

det()

求行列式

svd()

奇异值分解

rank()

返回矩阵的阵

dim()

求矩阵的维数

nrow()

求行数

ncol()

求列数

rowSums(),colSums

求各行和, 求各列和

rowMeans(),colMeans()

求行均值

lower.tri(),upper.tri()

提取矩阵的上三角矩阵;下三角矩阵

tslag(x,k=1,train=False),x为严格向量,k为滞后期数

用于生成滞后序列

apply(X,MARGIN,FUN)

进行各种计算

rbind(),cbind()

对矩阵按照行或列进行合并

is.matrix()

辨别是否是矩阵

as.matrix

把非矩阵格式转换成矩阵格式

因子

factor(x=character(),levels,labels=levels,exclude

=NA,ordered=is.ordered(x))

创建因子

leve()

列出因子水平

ordered()

表示因子之间有大小顺序

列表

list(变量1=分量1,变量2=分量2,…)

创建列表

length()

返回列表长度

mode()

返回数据类型

names()

返回列表里成分的名字

数据框(data frame)

data.frame(…,row.name=NULL,check.row=False,…)

生成数据框

attach()

把数据框“连接(绑定)”入当前的名字空间

函数与优化

if/else语句

if(cond) statement_1

if(cond) statement_1 else statement_2

分支

语句

ifelse语句

ifelse(cond,statement1,statement2)

switch语句

switch(statement,list)

for(ind in expr_1) expr_2

ind是循环变量,expr_1是一个向量表示式,expr_2通常是一组表达式

循环

语句

while (condition) expr

当condition条件成立的时候,才执行expr

repeat expr

repeat循环依赖break跳出循环

函数名=function(参数1,参数2…){

statements

return(object)}

编写

函数

std()

标准差

proc.time()

返回当前R已经运行的时间

system.time(expr,gcFirst=True)

计算程序运行时间的函数

optimize(f=,interval=,…,lower=min(interval),

upper=max(interval),maximum=FALSE,tol= .Machine$double.eps^0.25)

f是需要优化的函数;interval是参数搜索的区间;lower是参数搜索的下限,如果有缺失,用interval的最小值代替;upper是参数搜索的上限,缺失时用interval的最大值代替;maximum默认是FALSE,表示默认是求极小值;tol是精度的容忍度

一元的最优解求解函数

optim(par,fn,gr=NULL,…,method=c(“Nelder-Mead”,”BFGS&,”CG$,”LBFGS_BO&,”SANN”),control=list(),hessian=FALSE)

par设定初始值,fn是需要优化的目标函数,gr是梯度向量,如果是NULL则由optim()计算所得的近似值替代。Lower是参数搜索的下限,默认为负无穷;upper是参数搜索的上限,默认是正无穷。Control是用来控制optim函数的一些参数,hessian=FALSA表示不需要返回海塞矩阵

多元函数的优化原则

constrOptim(theta,f,grad,ui,ci,mu=1e-04,control=list(),method=if(is.null(grad))”NelderMead” else ”BFGS”, outer.eps=1e-05,…,hessian=FALSE)

theta是初始值向量;f是目标函数;grad是梯度向量,可以是空值NULL;ui是约束矩阵的左边系数矩阵;ci是约束矩阵的右边的值。

约束条件下的优化求解

随机数与抽样模拟

runif(n,min=0,max=1)

生成均匀分布随机数

set.seed()

设定随机数种子

rnorm(n,mean=0,sd=1)

正态分布随机数的生成函数

rexp(n,lamda=1)   lamda=1/mean

生成指数分布随机数

rbinom(n,size,prob)

生成二项分,size表示进行贝努力实验的次数,prob表示一次贝努力实验成功的概率

cauchy()

柯西分布

beta(a,b)

贝塔分布

chisq(df)

卡方分布

f(df1,df2)

F分布

gamma()

伽玛分布

logis()

逻辑分布

nbinom()

负二项分布

mvnorm

多元正态分布

pois()

泊松分布

t()

t分布

分布函数相关函数及作用

r-

生成相应分布的随机数

d-

生成相应分布的密度函数

p-

生成相应分布的累积密度概率密度函数

q-

生成相应分布的分位数函数

mvrnorm(n,mu,Sigma,tol,empirical=FALSE,

EISPACK=FALSE).mu为均值向量,Sigma为协方差矩阵,empirical为逻辑参数,取TURE时,mu和Sigma取经验均值和协方差矩阵

多元正态随机数

pmvnorm(lower=-Inf,upper=Inf,mean=rep(0,

length(lower)),corr=NULL,sigma=NULL,algorithm

=GenzBrretz(),…)

计算累积概率

rmvt(n,sigma=diag(2),df=1,delta=rep(0,nrow(sigma)),

type=c(“shifted”,”Kshirsagar”,…))

多元t分布随机数

sample(x,n,replace=F,prob=NULL)

x表示总体向量;n表示样本容量;replace=F表示无放回抽样,replace=T表示有放回抽样,默认为无放回抽样;prob设置各个抽样单元不同的入样概率

随机抽样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值