R语言
rowsum
位于 base
包(package)。 说明
对于分组变量的每个级别,计算类似数字矩阵的对象的各行的列总和。 rowsum
是通用的,具有用于数据帧的方法以及用于向量和矩阵的默认方法。
用法
rowsum(x, group, reorder = TRUE, ...)
## S3 method for class 'data.frame'
rowsum(x, group, reorder = TRUE, na.rm = FALSE, ...)
## Default S3 method:
rowsum(x, group, reorder = TRUE, na.rm = FALSE, ...)
参数
x |
数值数据的矩阵、 DataFrame 或向量。允许缺失值。数值向量将被视为列向量。 |
group |
给出分组的向量或因子, |
reorder |
如果 |
na.rm |
逻辑( |
... |
传入或传出方法的其他参数 |
细节
默认情况下是对行重新排序以符合 tapply
,如下例所示。重新排序不应显著增加时间,除非 group
有很多不同的值并且 x
的列很少。
原始函数由 Terry Therneau 编写,但这是使用散列的新实现,对于大型矩阵来说速度更快。
要对矩阵的所有行(即单个 group
)求和,请使用 colSums
,这应该更快。
对于整数参数,形成总和时的上溢/下溢会导致 NA
。
值
包含总和的矩阵或 DataFrame 。 group
的每个唯一值将对应一行。
例子
require(stats)
x <- matrix(runif(100), ncol = 5)
group <- sample(1:8, 20, TRUE)
(xsum <- rowsum(x, group))
## Slower versions
tapply(x, list(group[row(x)], col(x)), sum)
t(sapply(split(as.data.frame(x), group), colSums))
aggregate(x, list(group), sum)[-1]
也可以看看
相关用法
- R row 行索引
- R row.names 获取和设置 DataFrame 的行名称
- R round.POSIXt 舍入/截断日期时间对象
- R rank 样本排名
- R rapply 递归地将函数应用于列表
- R readRenviron 从文件设置环境变量
- R remove 从指定环境中删除对象
- R readChar 与连接之间传输字符串
- R rep 复制向量和列表的元素
- R readRDS 单个对象的序列化接口
- R raw 原始向量
- R reg.finalizer 对象的最终确定
- R rawConnection 原始连接
- R range 值范围
- R rev 反转元素
- R rle 游程长度编码
- R regmatches 提取或替换匹配的子字符串
- R readline 从终端读取一行
- R rawConversion 与(位/打包)原始向量之间的转换
- R readBin 与连接之间传输二进制数据
- R replace 替换向量中的值
- R readLines 从连接读取文本行
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Give Column Sums of a Matrix or Data Frame, Based on a Grouping Variable。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。