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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。