zoukankan      html  css  js  c++  java
  • R语言函数索引

    R语言函数索引

      在学习R语言的途中,发现函数太多实在不好记。所以,本文记录下学习期间遇到的函数,做一个备忘,索引,方便查看函数的大致用途!学到什麽就更新什麽!

    1. str() 紧凑的显示R对象的内部结构
      生成随机变量 rpois() 泊松随机变量
      d 正态分布
      pnorm() 估计累计分布
      qnorml() 估计分位数
      summary()
      set.seed() 随机数字成成器种子,可以用来生成完全相同的随机数
      设置符合模型的随机变量
      rbinom() 二项分布
      sample() 从指定的一组对象集合中随机抽样 sample.interval=
      分析器 分析耗时时间长的原因
      system.time() 取出并分析任意一条R语句运行时间
      多核库
      R分析器 函数Rprof() 启动R中的分析器,可在规律的样本区间内记录追踪函数调用栈,函数运行必须大于0.02秒
      summaryRprof() 取出分析结果,总结成可以阅读的方式
      规范化 by,total
      by self 函数真正耗费的时间


    2. lapply() 回传为一个列表
      sapply() 简化了结果,结果可以简化为向量
      apply() 对数组进行行或者列的运算
      tapply() 运用于向量的子集
      mapply() 运用于多变量,变量类型不同
      split() 把对象分为几块
      mean 均值
      runif 使用随机数发生器生成符合均匀分布的随机变量
      匿名函数 不必为函数指明名称
      probs() 计算百分位
      quantitle() 想计算的分位数
      rep() 重复
      rnorm(10),runif(10),rnorm(10,1) 10个正态随机变量,10个均匀随机变量,10个均值为1的正态随机变量
      range 返回的范围
      有缺失值将会导致无法计算平均值
      interaction() 组合
      统计 sqlist(x,list(f1,f2))) drop=TRUE 减去水平为空的

      traceback() 告知一共调用了多少个函数,以及错误在哪里
      debug() 停在函数的第一行,browser()
      browser() 一行一行的执行
      trace() 可以在函数中加入试调代码,不用改变源码
      recover() 错误处置函数


    3. repeat 执行无限循环
      next 忽略程序中的某次迭代
      return 退出函数
      seq_along(x) 创建一个与x等长的数列
      rbinom()
      sd() 计算标准差
      na.rm=FALSE 是否移除缺省值
      lm() 把数据拟合到线性模型
      formula,公式 subset,子集,weights 权重
      惰性求值
      ... 参数 一些可以传递给另一个函数的参数,用于拓展另一个函数,不想复制原函数的整个参数表
      绘制线 type=1
      ... 用在泛型函数中,使得附加函数可以传递给方法(method)
      泛型函数不做任何事,他的作用是根据数据类型使用合适的方法
      ...用在事先函数的参数个数不确定的时候
      paste() 将一组字符串连起来,新建一个字符或者是字符串向量
      cat() 将字符串链接,输出到文件或者控制台
      ... 之后的参数列表需要明确的给出名称,而且不能进行部分匹配
      library() 载入一个包
      作用域规则是R不同于S的所在,一个值如何与函数中的自由变量绑定起来,词法作用域
      构造函数
      函数可以嵌套
      ls(environment(函数环境)) 查看函数所在的环境
      get("n",environment(函数)) 得到n的环境

      1 > x<-as.Date("1970-01-01")
      2 > x
      3 [1] "1970-01-01"
      4 > unclass(x)
      5 [1] 0
      6 > unclass(as.Date("2015-10-07"))
      7 [1] 16715
      8 > 


      as.Date() 转换日期
      as.POSIXit() as.POSIXct() 转换为时间
      Sys.time() 返回系统时间
      as.POSIXlt() 转换为这种格式 类型是一个列表
      POSIXct() 用很大的整数来表示

      1 p<- as.POSIXlt(x)
      2 > names(unclass(p))
      3 [1] "sec" "min" "hour" "mday" "mon" "year" 
      4 [7] "wday" "yday" "isdst" "zone" "gmtoff"
      5 > p
      6 [1] "2015-10-07 16:47:54 CST"
      7 > 

      strptime() 函数 字符串函数转换为时间或者日期对象
      as.Date() 作为时间


    4. R Programming for Data Science
      R导论
      R数据的导入与导出
      #表示右边所有的内容都是注释
      【1】元素在向量里的位置
      list可以包含多种数据类型
      向量只能包含一种数据类型
      数字后大写L表示整型的数字
      inf表示无穷
      NAN 无定义的值
      对象属性 维度 长度 类 用户属性
      attribute() 设定修改对象的属性
      c() 串联对象,不同类型后台强制转换 创建对象属性
      显示的转换 as.开头 NA转换失败
      matrix() 矩阵
      dim() 维度
      创建矩阵 1,数据 行列号,先填行,后列
      2.先建立向量,后添加属性
      3.绑定行和列来创建 cbind() rbind()
      factor 因子,有序,无序两种,无序用来标记那些可以分类,无序的数据,有序标记有先后顺序的数据,可以不是数值类型但是有序。相当于标签。
      table() 频率
      unclass() 移除向量的类型
      leaves() 确定基线水平
      NAN 未定义的数学运算
      NA 它的缺失值,也有不同的类
      is.na() 用来检查值是否缺失
      NAN是NA 但是NA不一定是NAN
      Data Frames 数据框 用来存储数据表格数据的重要类型,可以存储不同类型的对象(与矩阵相比)
      read.table() read.csv 创建数据框,data.frame()
      data.matrix() 数据框转换为矩阵
      names()<-c() 为对象赋予名字
      list(a=1,b=2,c=3) 为list赋予名字
      matrix 名字 dimnames(m)<- list(c("a","b"),c("c","d"))
      Summary
      R读取数据
      1.read.table() 默认分割符空格 2.read.csv() 默认分割符逗号 返回一个 data frame
      readLines() 逐行读取文本文件,返回一个字符向量
      source() dget()读取R代码文件,分析过后,文本方式存储的R对象
      load() unserialize() 用于把二进制对象读入R
      写入 write.table() writeLines(),dump(),dput(),save(),serialize()
      header 第一行是否是表头 sep分割符 colClass 字符集 与列数相等 skip忽略多少行
      sapply() 遍历每一列,调用class() 确定类型
      url() 与网页建立联系
      file() 无压缩的文件建立联系
      gzfile() bzfile() 用来建立和压缩文件之间的联系
      description="" 参数是文件名
      读取文件 con<- file("文件名","r")
      data <- read.csv(con)
      close(con)
      与下面效果相同 data<- read.csv("文件名")
      con<- gzfile("name")
      x<- readlines(con,10)
      读取指定的行数
      双括号可以使用计算的索引,可以用一个整数数列作为参数
      subsetting a Matrix
      向量化运算,不用写循环,事件可以是并行的
      ==测试相等性
      矩阵 x*y 按元素相乘,并非矩阵乘法
      矩阵乘法 %*%
      工具 swirl
      optim() nlm() 用于优化的函数 optimize() 默认求最小值
      sigma() 标准差
      cmd+i 缩进
      traceback() 分析错误

      内部时间1970年至今以秒的方式计数


      2015-10-10

    5. inentical()
      all.equal()
      都可用于比较两个对象,inentical()比较内在关系,严格的相同返回TRUE;all.equal()用于比较
      近似相等。
      > 0.9 == (1 - 0.1)
      [1] TRUE
      > identical(0.9, 1 - 0.1)
      [1] TRUE
      > all.equal(0.9, 1 - 0.1)
      [1] TRUE
      > 0.9 == (1.1 - 0.2)
      [1] FALSE
      > identical(0.9, 1.1 - 0.2)
      [1] FALSE
      > all.equal(0.9, 1.1 - 0.2)
      [1] TRUE
      > all.equal(0.9, 1.1 - 0.2, tolerance = 1e-16)
      [1] "Mean relative difference: 1.233581e-16"
      data.entry()图形的电子表格编辑器
      de()返回一个列表




    6. 一、数据管理
      vector:向量
      numeric:数值型向量
      logical:逻辑型向量
      character;字符型向量
      list:列表
      data.frame:数据框
      c:连接为向量或列表
      length:求长度
      subset:求子集
      seq,from:to,sequence:等差序列
      rep:重复
      NA:缺失值
      NULL:空对象
      sort,order,unique,rev:排序
      unlist:展平列表
      attr,attributes:对象属性
      mode,typeof:对象存储模式与类型
      names:对象的名字属性

      二、字符串处理
      character:字符型向量
      nchar:字符数
      substr:取子串
      format,format C:把对象用格式转换为字符串
      paste,strsplit:连接或拆分
      charmatch,pmatch:字符串匹配
      grep,sub,gsub:模式匹配与替换

      三、复数
      complex,Re,Im,Mod,Arg,Conj:复数函数

      四、因子
      factor:因子
      codes:因子的编码
      levels:因子的各水平的名字
      nlevels:因子的水平个数
      cut:把数值型对象分区间转换为因子
      table:交叉频数表
      split:按因子分组
      aggregate:计算各数据子集的概括统计量
      tapply:对“不规则”数组应用函数

      数学相关计算

      一、计算
      +, -, *, /, ^, %%, %/%:四则运算
      ceiling,floor,round,signif,trunc,zapsmall:舍入
      max,min,pmax,pmin:最大最小值
      range:最大值和最小值
      sum,prod:向量元素和积
      cumsum,cumprod,cummax,cummin:累加、累乘
      sort:排序
      approx和approx fun:插值
      diff:差分
      sign:符号函数

      二、数学函数
      abs,sqrt:绝对值,平方根
      log, exp, log10, log2:对数与指数函数
      sin,cos,tan,asin,acos,atan,atan2:三角函数
      sinh,cosh,tanh,asinh,acosh,atanh:双曲函数
      beta,lbeta,gamma,lgamma,digamma,trigamma,tetragamma,pentagamma,choose ,lchoose:与贝塔函数、伽玛函数、组合数有关的特殊函数
      fft,mvfft,convolve:富利叶变换及卷积
      polyroot:多项式求根
      poly:正交多项式
      spline,splinefun:样条差值
      besselI,besselK,besselJ,besselY,gammaCody:Bessel函数
      deriv:简单表达式的符号微分或算法微分

      三、数组
      array:建立数组
      matrix:生成矩阵
      data.matrix:把数据框转换为数值型矩阵
      lower.tri:矩阵的下三角部分
      mat.or.vec:生成矩阵或向量 t:矩阵转置
      cbind:把列合并为矩阵
      rbind:把行合并为矩阵
      diag:矩阵对角元素向量或生成对角矩阵
      aperm:数组转置
      nrow, ncol:计算数组的行数和列数
      dim:对象的维向量
      dimnames:对象的维名
      row/colnames:行名或列名
      %*%:矩阵乘法
      crossprod:矩阵交叉乘积(内积)
      outer:数组外积
      kronecker:数组的Kronecker积
      apply:对数组的某些维应用函数
      tapply:对“不规则”数组应用函数
      sweep:计算数组的概括统计量
      aggregate:计算数据子集的概括统计量
      scale:矩阵标准化
      matplot:对矩阵各列绘图
      cor:相关阵或协差阵
      Contrast:对照矩阵
      row:矩阵的行下标集
      col:求列下标集

      四、线性代数
      solve:解线性方程组或求逆
      eigen:矩阵的特征值分解
      svd:矩阵的奇异值分解
      backsolve:解上三角或下三角方程组
      chol:Choleski分解
      qr:矩阵的QR分解
      chol2inv:由Choleski分解求逆

      五、逻辑运算
      <,>,<=,>=,==,!=:比较运算符
      !,&,&&,|,||,xor():逻辑运算符
      logical:生成逻辑向量
      all,any:逻辑向量都为真或存在真
      ifelse():二者择一
      match,%in%:查找
      unique:找出互不相同的元素
      which:找到真值下标集合
      duplicated:找到重复元素

      六、优化及求根
      optimize,uniroot,polyroot:一维优化与求根


      程序设计

      一、控制结构
      if,else,ifelse,switch:分支
      for,while,repeat,break,next:循环
      apply,lapply,sapply,tapply,sweep:替代循环的函数。

      二、函数方面
      function:函数定义
      source:调用文件
      call:函数调用
      .C,.Fortran:调用C或者Fortran子程序的动态链接库
      Recall:递归调用
      browser,debug,trace,traceback:程序调试
      options:指定系统参数
      missing:判断虚参是否有对应实参
      nargs:参数个数 stop:终止函数执行
      on.exit:指定退出时执行
      eval,expression:表达式计算
      system.time:表达式计算计时
      invisible:使变量不显示
      menu:选择菜单(字符列表菜单)
      其它与函数有关的还有:delay,delete.response,deparse,do.call,dput,environment ,,formals,format.info,interactive,
      is.finite,is.function,is.language,is.recursive ,match.arg,match.call,match.fun,model.extract,name,parse,substitute,sys.parent ,warning,machine

      三、输入输出
      cat,print:显示对象
      sink:输出转向到指定文件
      dump,save,dput,write:输出对象
      scan,read.table,load,dget:读入

      四、工作环境
      ls,objects:显示对象列表
      rm, remove:删除对象
      q,quit:退出系统
      .First,.Last:初始运行函数与退出运行函数。
      options:系统选项
      ?,help,help.start,apropos:帮助功能
      data:列出数据集


      统计分析

      一、统计分布
      每一种分布有四个函数:d――density(密度函数),p――分布函数,q――分位数函数,r――随机数函数。
      比如,正态分布的这四个函数为dnorm,pnorm,qnorm,rnorm
      列出各分布后缀,前面加前缀d、p、q或r就构成函数名:
      norm:正态
      t:t分布
      f:F分布
      chisq:卡方(包括非中心)
      unif:均匀
      exp:指数
      weibull:威布尔
      gamma:伽玛
      beta:贝塔
      lnorm:对数正态
      logis:逻辑分布
      cauchy:柯西
      binom:二项分布
      geom:几何分布
      hyper:超几何
      nbinom:负二项
      pois:泊松
      signrank:符号秩,
      wilcox:秩和
      tukey:学生化极差

      二、简单统计量
      sum, mean, var, sd, min, max, range, median, IQR(四分位间距)等为统计量
      sort,order,rank与排序有关,其它还有ave,fivenum,mad,quantile,stem等

      三、统计检验
      R中已实现的有chisq.test,prop.test,t.test

      四、多元分析
      cor,cov.wt,var:协方差阵及相关阵计算
      biplot,biplot.princomp:多元数据biplot图
      cancor:典则相关
      princomp:主成分分析
      hclust:谱系聚类
      kmeans:k-均值聚类
      cmdscale:经典多维标度 其它有dist,mahalanobis,cov.rob

      五、时间序列
      ts:时间序列对象
      diff:计算差分
      time:时间序列的采样时间
      window:时间窗

      六、统计模型
      lm,glm,aov:线性模型、广义线性模型、方差分析

      文件操作

      一、文件执行:
      在用R生成一个PDF文档后,如果想去打开它,你可能会在文件夹里找到再点开。再或者我们想调用系统中的其它程序来做点事情,可能要打开cmd敲点命令。实际上这都可以在R内部完成。举例来说用pandoc转换na.md成docx再打开它。
      system('pandoc d:\rspace\na.md -o d:\rspace\na.docx')
      shell.exec('d:\rspace\na.docx')


      二、 网络浏览:
      browseURL:浏览某个指定的网页
      download.file:下载网络文件到本地

      三、文件操作
      dir.create:新建一个文件夹
      list.dirs:显示目录下的文件夹
      list.files:显示目录下的文档
      file.create:文档创建
      file.exists:判断文档是否存在
      file.remove:文档删除
      file.rename:重命名
      file.append:文档添加
      file.copy:文档复制
      file.symlink(from, to)
      file.show:显示文档内容
      file.info:显示文档信息
      file.edit:编辑文档
      zip: 压缩文件
      unzip: 解压缩文件

      四、 运算进度条
      在一个大循环运算时,如果可以看到目前的进度是比较方便的,txtProgressBar和setTxtProgressBar函数可以帮助做到这一点


    7. 2015-10-24
    8.   
    本性的苏醒,往往在遭遇真实之后。
  • 相关阅读:
    流方式下载文件
    数据导出excel
    文件属性的生成操作build action
    数据库添加注释
    前后端交互
    ASP.NET Core 3.0 原生DI拓展实现IocManager
    ASP.NET Core使用Elasticsearch记录NLog日志
    IdentityServer4中文文档
    Elasticsearch、Kibana Windows下环境搭建
    通过jQuery和C#分别实现对.NET Core Web Api的访问以及文件上传
  • 原文地址:https://www.cnblogs.com/chance88/p/4868216.html
Copyright © 2011-2022 走看看