r语言第9天 181页

apply函数

 apply, lapply, sapply, tapply, mapply  和   by and split

使数据的处理更为简便,因为分组factor


1  根据factor,对vector进行分组,使用 split()函数。

例:根据f,对x分组

> groups <- split(x, f) 

> groups <- unstack(data.frame(x,f)) 

返回一vector


2   对一个list每一个元素,都使用函数

 lapply    sapply  函数,

> lst <- lapply(lst, fun)      返回一个list

> vec <- sapply(lst, fun)    返回一个vector, 会以matrix形式

3  对matrix的每一行都使用函数

> results <- apply(mat, 1, fun)     # mat is a matrix, fun is a function 

第二个参数用 1  ,代表对行操作,返回matrix

4  对dataframe或者matrix的每一列使用函数

对于matrix

> results <- apply(mat, 2, fun) 

对于dataframe

> lst <- lapply(dfrm, fun) 

> vec <- sapply(dfrm, fun) 

5  apply是用于处理matrix的

• 1 means process row by row.

• 2 means process column by column. 

对于dataframe使用apply,会将其转换为matrix。注意,只有当dataframe包含同一种数据类型时

6  对于> cors <- sapply(pred, cor, y=resp) 

计算pred和resp的相关性,对于sapply而言,第3个参数以后,将会传给cor

7  对分组的data,使用函数

> tapply(x, f, fun) 

f是分组factor ,x 是数据,fun是函数

8 对分组的行使用函数

> by(dfrm, fact, fun)    返回一个list

9 confint() 置信区间

10

> mapply(f, vec1, vec2, ..., vecN) 

> mapply(f, list1, list2, ..., listN) 

mapply可以将标量函数,应用到数据


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值