R语言常用函数(基本)

Python010

R语言常用函数(基本),第1张

vector:向量 numeric:数值型向量 logical:逻辑型向量 character;字符型向量 list:列表 data.frame:数据框

c:连接为向量或列表 sequence:等差序列 rep:重复

length:求长度 subset:求子集 seq,from:to, NA:缺失值 NULL:空对象 sort,order,unique,rev:排序 unlist:展平列表 attr,attributes:对象属性

mode,typeof:对象存储模式与类型 names:对象的名字属性

character:字符型向量 nchar:字符数 substr:取子串 format,formatC:把对象用格式转换为字符串 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语言之—字符串处理函数

nchar

取字符数量的函数

length与nchar不同,length是取向量的长度

# nchar表示字符串中的字符的个数

nchar("abcd")

[1] 4

# length表示向量中元素的个数

length("abcd")

[1] 1

length(c("hello", "world"))

[1] 2

chartr

字符替换

chartr(old="a", new="c", x="a123")

[1] "c123"

chartr(old="a", new="A", x="data")

[1] "dAtA"

paste和paste0

字符串粘合函数

paste在不指定分割符的情况下,默认分割符是空格

paste0在不指定分割符的情况下,默认分割符是空

# 默认以空格隔开

paste("Hello","world")

[1] "Hello world"

# 没有空格

paste0("Hello","world")

[1] "Helloworld"

# 指定分割符

paste("abc", "efg", "hijk", sep = "-")

[1] "abc-efg-hijk"

# 分别对向量的每一个元素进行连接

paste0("A", 1:6, sep = "")

[1] "A1" "A2" "A3" "A4" "A5" "A6"

# collapse参数:每一个元素操作之后,再把向量的每一个元素进行连接

paste0("A", 1:6, sep = "",collapse = "-")

[1] "A1-A2-A3-A4-A5-A6"

substr

字符串截取函数

substr(x = "hello", start = 1, stop = 2)

[1] "he"

strsplit

字符串的分割函数,可以指定分割符,生成一个list

strsplit("abc", split = "")

[[1]]

[1] "a" "b" "c"

如果要对一个向量使用该函数,需要注意。

# 分割向量的每一个元素,并取分割后的第一个元素

unlist(lapply(X = c("abc", "bcd", "dfafadf"), FUN = function(x) {return(strsplit(x, split = "")[[1]][1])}))

[1] "a" "b" "d"

gsub和sub

字符串替换

gsub替换匹配到的全部

sub 替换匹配到的第一个

# 将b替换为B

gsub(pattern = "b", replacement = "B", x = "baby")

[1] "BaBy"

gsub(pattern = "b", replacement = "B", x = c("abcb", "boy", "baby"))

[1] "aBcB" "Boy" "BaBy"

# 只替换第一个b

sub(pattern = "b", replacement = "B", x = "baby")

[1] "Baby"

sub(pattern = "b", replacement = "B", x = c("abcb", "baby"))

[1] "aBcb" "Baby"

grep和grepl

字符串匹配

grep函数返回的是索引值

grepl函数返回的是逻辑值

# 返回匹配到的元素的索引

grep(pattern = "boy", x = c("abcb", "boy", "baby"))

[1] 2

# 返回逻辑值

grepl(pattern = "boy", x = c("abcb", "boy", "baby"))

[1] FALSE TRUE FALSE

match &&pmatch &&charmatch

1、match

Usage

match(x, table, nomatch = NA_integer_, incomparables = NULL)

x %in% table

参数:

x: vector or NULL: the values to be matched. Long vectors are supported.

table : vector or NULL: the values to be matched against. Long vectors are not supported. (被匹配的值)

nomatch: the value to be returned in the case when no match is found. Note that it is coerced to integer. (没有match上的返回的值)

incomparables : a vector of values that cannot be matched. Any value in x matching a value in this vector is assigned the nomatch value. For historical reasons, FALSE is equivalent to NULL. (不同来匹配的值)

match函数类似与 %in%,不同的是match返回的是索引,而%in%返回的是逻辑值。

参考文章地址(https://zhuanlan.zhihu.com/p/120422644) 逗号分隔文件 (.csv文件)、 制表符分隔文件 (.tsv文件)和 空格分隔文件 (.txt文件) (一).csv文件的读取 mydata <- read.csv(file=" ", header=T, sep=",", quote="\", dec=".", fill=T, comment.char=" ") comment.char用于设置需要跳过的内容,比如需要跳过的行前面有“#”,那么设置comment.char=“#”,当然你也可以设置从中间开始读,注意,这个函数是read.csv里面的哦! file: 以csv结尾的文件名,由文件所在路径及其文件名构成 header:是否把第一行作为表头 sep:分隔方式,csv文件分隔读入参数设置为"."                                tsv文件分隔读入参数设置为"\t"                                txt文件分隔为空格,不需要设置sep参数 也可以通过mydata <- read.table("D:/mydata.csv", header=T, sep=",", row.names="id")读取 (二).tsv文件的读取 mydata <- read.table("D:/mydata.tsv", header=T, sep="\t", row.names="id") 除了分隔方式跟上面一样 (三).txt文件的读取 mydata <- read.table("c:/mydata.txt", header=TRUE, row.names="id") 除了分隔方式跟上面一样 (四)以.gz结尾的压缩文件的读取 1.在R中可以使用gzfile()的方式读取压缩文件 2.使用data.table包里的fread()函数 安装并加载data.table包 install.packages("data.table") library(data.table) 使用fread()函数读取文件,这里参数和之前的一致,唯一的不同就是fread()可以直接读取压缩文件 mydata <- fread(‘c:/mydata.txt.gz’, header=T, row.names=’id’) (五)读取.xlsx后缀文件,也就是excel文件 1. 安装并加载openxlsx包 install.packages("openxlsx") library(openxlsx) 2.进行数据的导入 mydata <- read.xlsx( "mydata.xlsx",rowNames=T) 其他参数可以通过? read.xlsx在R中根据需要进行添加的。