subset
位於 base
包(package)。 說明
返回滿足條件的向量、矩陣或 DataFrame 的子集。
用法
subset(x, ...)
## Default S3 method:
subset(x, subset, ...)
## S3 method for class 'matrix'
subset(x, subset, select, drop = FALSE, ...)
## S3 method for class 'data.frame'
subset(x, subset, select, drop = FALSE, ...)
參數
x |
要子集化的對象。 |
subset |
指示要保留的元素或行的邏輯表達式:缺失值被視為 false。 |
select |
表達式,指示從 DataFrame 中選擇的列。 |
drop |
傳遞給 |
... |
要傳遞給其他方法或從其他方法傳遞的進一步參數。 |
細節
這是一個通用函數,為矩陣、數據幀和向量(包括列表)提供了方法。包和用戶可以添加更多方法。
對於普通向量,結果隻是 x[subset & !is.na(subset)]
。
對於數據幀,subset
參數作用於行。請注意,subset
將在 DataFrame 中進行計算,因此列可以(按名稱)引用為表達式中的變量(請參閱示例)。
select
參數僅適用於數據幀和矩陣的方法。它的工作原理是首先將選擇表達式中的列名稱替換為 DataFrame 中相應的列號,然後使用生成的整數向量對列進行索引。這允許使用標準索引約定,以便可以輕鬆指定列範圍,或者可以刪除單個列(請參閱示例)。
drop
參數傳遞給矩陣和數據幀的索引方法:請注意,矩陣的默認值與索引的默認值不同。
子集化後因子可能有空水平;未使用的級別不會自動刪除。有關從數據幀中刪除所有未使用級別的方法,請參閱droplevels
。
值
類似於 x
的對象僅包含選定的元素(對於向量)、行和列(對於矩陣或 DataFrame )等。
警告
這是一個旨在交互使用的便利函數。對於編程,最好使用標準子集函數,例如 [
,特別是參數 subset
的非標準評估可能會產生意想不到的後果。
例子
subset(airquality, Temp > 80, select = c(Ozone, Temp))
subset(airquality, Day == 1, select = -Temp)
subset(airquality, select = Ozone:Wind)
with(airquality, subset(Ozone, Temp > 80))
## sometimes requiring a logical 'subset' argument is a nuisance
nm <- rownames(state.x77)
start_with_M <- nm %in% grep("^M", nm, value = TRUE)
subset(state.x77, start_with_M, Illiteracy:Murder)
# but in recent versions of R this can simply be
subset(state.x77, grepl("^M", nm), Illiteracy:Murder)
作者
Peter Dalgaard and Brian Ripley
也可以看看
相關用法
- R substitute 替換和引用表達式
- R substr 字符向量的子字符串
- R summary 對象摘要
- R sum 向量元素之和
- R strsplit 分割字符向量的元素
- R seq.Date 生成規則的日期序列
- R search 給出 R 對象的搜索路徑
- R solve 求解方程組
- R scan 讀取數據值
- R sprintf 使用 C 風格字符串格式化命令
- R stop 停止函數執行
- R sign 標誌函數
- R svd 矩陣的奇異值分解
- R strtoi 將字符串轉換為整數
- R source 從文件、連接或表達式中讀取 R 代碼
- R sQuote 引用文字
- R switch 選擇替代方案列表之一
- R strrep 重複字符向量的元素
- R split 分組並重新集合
- R slice.index 數組中的切片索引
- R sort 對向量進行排序或排序
- R standardGeneric 形式化方法係統 – 調度 S4 方法
- R sequence 創建序列向量
- R startsWith 字符串是否以另一個字符串開頭或結尾?
- R system.file 查找 R 係統文件的名稱
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Subsetting Vectors, Matrices and Data Frames。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。