R语言中的apply函数族
https://zhuanlan.zhihu.com/p/308616311、lapply函数
lapply函数是一个最基础循环操作函数之一,用来对list、data.frame、vector(达不到理想效果,因为他会返回list)数据集进行循环,并返回和X长度同样的list结构作为结果集,通过lapply的开头的第一个字母 ' l ' 就可以判断返回结果集的类型。
定义:lapply(X, FUN, ...) 参数列表:X:list、data.frame数据;FUN: 自定义的调用函数;…: 更多参数,可选
例:lapply(temp,min) temp是list,七列,每列5个元素。
temp lapply输出sapply(temp,min)
sapply输出2、sapply函数
sapply函数是一个简化版的lapply,sapply增加了2个参数simplify和USE.NAMES,返回值为向量。list or vector
定义:sapply(X, FUN, ..., simplify=TRUE, USE.NAMES = TRUE)
参数列表:X:数组、矩阵、数据框;FUN: 自定义的调用函数;…: 更多参数,可选;simplify: 是否数组化;当值为"array"时,输出结果按数组进行分组;USE.NAMES: 如果X为字符串,TRUE设置字符串为数据名,FALSE不设置
3、vapply函数
vapply类似于sapply,提供了FUN.VALUE参数,用来控制返回值的行名,这样可以让程序更健壮。
定义:vapply(X, FUN, FUN.VALUE, ..., USE.NAMES = TRUE)
参数列表:X:数组、矩阵、数据框;FUN: 自定义的调用函数;
FUN.VALUE: 定义返回值的行名row.names,需要一个模板作为函数FUN的返回参数;
…: 更多参数,可选;USE.NAMES: 如果X为字符串,TRUE设置字符串为数据名,FALSE不设置
例如FUN.VALUE用法:
三行,且每行都是数字,所以numeric(3) 四行,且每行都是数字,所以numeric(4),"FUN.VALUE="可写可不写 一行,且每行都是逻辑值,所以logical(1)
网友评论