R语言
by
位于 base
包(package)。 说明
函数 by
是应用于数据帧的 tapply
的面向对象包装器。
用法
by(data, INDICES, FUN, ..., simplify = TRUE)
参数
data |
一个R对象,通常是 DataFrame ,可能是矩阵。 |
INDICES |
一个因子或一系列因子,每个因子的长度为 |
FUN |
应用于(通常是data-frame) |
... |
|
simplify |
逻辑:参见 |
细节
数据帧按行分割为按一个或多个因子的值划分子集的数据帧,并且函数FUN
依次应用于每个子集。
对于默认方法,具有维度的对象(例如矩阵)被强制为 DataFrame 并应用 DataFrame 方法。其他对象也被强制到 DataFrame ,但 FUN
单独应用于 DataFrame 的每一列(的子集)。
值
类 "by"
的对象,给出每个子集的结果。如果 simplify
为 false,则始终为列表,否则为列表或数组(请参阅 tapply
)。
例子
require(stats)
by(warpbreaks[, 1:2], warpbreaks[,"tension"], summary)
by(warpbreaks[, 1], warpbreaks[, -1], summary)
by(warpbreaks, warpbreaks[,"tension"],
function(x) lm(breaks ~ wool, data = x))
## now suppose we want to extract the coefficients by group
tmp1 <- with(warpbreaks,
by(warpbreaks, tension,
function(x) lm(breaks ~ wool, data = x)))
sapply(tmp1, coef)
## another way
tmp2 <- by(warpbreaks, ~ tension,
with, coef(lm(breaks ~ wool)))
array2DF(tmp2, simplify = TRUE)
也可以看看
tapply
、simplify2array
。 array2DF
将结果转换为数据帧。 ave
还应用函数block-wise。
相关用法
- R basename 操作文件路径
- R body 访问和操作函数体
- R bindenv 绑定和环境锁定、主动绑定
- R bitwise 按位逻辑运算
- R backsolve 求解上三角系统或下三角系统
- R bquote 表达式中的部分替换
- R builtins 返回所有内置对象的名称
- R bincode Bin 数值向量
- R balancePOSIXlt 平衡“不规则”和超出范围的 POSIXlt 日期时间
- R browserText 检索浏览器调用提供的值的函数
- R base-defunct 包库中已失效的函数
- R browser 环境浏览器
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
- R rank 样本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R pushBack 将文本推回连接
- R strsplit 分割字符向量的元素
- R seq.Date 生成规则的日期序列
- R invisible 将打印模式更改为不可见
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Apply a Function to a Data Frame Split by Factors。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。