lapply:可用于一个列表对象,并且返回一个列表对象
sapply:更灵活,可接受向量或者矩阵作为主要参数,返回形式更为有好的结果,常常是表格形式。
lapply(x,FUN,...)
sapply(x,FUN,...,simplify=TRUE,USE.NAMES=TRUE)
vapply(x,FUN,FUN.VALUE,...,USE.NAMES=TRUE)
replicate(n,expr,simplify="array")
simplify2array(x,higher=TRUE)
lapply:返回一个与x等长的list,每个元素是在对应的x元素上应用函数FUN的结果。
sapply:是在lapply之上的灵活版本,默认返回向量、矩阵,或当simplify="array"时为阵列array。同时应用simplify2array(),sapply(x,f,simplify=FALSE,USE.NAMES=FALSE)和应用 lapply(x,f)是等价的。
vapply:和sapply类似,但可预先指定返回值类型,更安全。
replicate:在sapply之上的可重复计算一个表达式,通常涉及随机数的产生。
simplify2array:当simplify部位FALSE时sapply调用的。
tapply(x,INDEX,FUN=NULL,...,simplify=TRUE),根据INDEX的不同水平(分组)对x应用FUN函数
其中:
x:原子对象,通常是一个向量。
INDEX:factors的列表,每个factor和x具有相同长度(可以是多维的)。
FUN:应用的函数,可为操作符(需用引号限定)。若为NULL,则返回一个向量。
simplify:若为假,返回list模式的一个阵列;若为真,若FUN总返回标量,则tapply返回标量模式的一个阵列(array)
当FUN为空时,返回一个与x等长的向量(称为split vector),其中的每个值为:x中的第i个元素在levels数组(当INDEX为多维时)或tables二维数组(列优先方式)中的索引。
INDEX为多维时,一组为一个factor向量。