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