pmatch
位於 base
包(package)。 說明
pmatch
在第二個參數中尋找第一個參數的元素的匹配項。
用法
pmatch(x, table, nomatch = NA_integer_, duplicates.ok = FALSE)
參數
x |
要匹配的值:通過 |
table |
要匹配的值:轉換為字符向量。不支持Long vectors。 |
nomatch |
在不匹配或部分匹配位置返回的值。請注意,它被強製為 |
duplicates.ok |
|
細節
行為因 duplicates.ok
的值而異。首先考慮一下這種情況是否屬實。考慮第一個精確匹配,並記錄第一個精確匹配的位置。然後考慮唯一的部分匹配,如果發現則記錄下來。 (如果 x
的整個元素與 table
的元素的開頭匹配,則發生部分匹配。)最後,x
的所有剩餘元素都被視為不匹配。此外,空字符串不能匹配任何內容,甚至不能與空字符串完全匹配。例如,這是字符索引部分匹配的適當行為。
如果duplicates.ok
是FALSE
,值table
一旦匹配就會被排除在後續匹配的搜索之外。此行為相當於R參數匹配的算法,除了考慮空字符串(在參數匹配中,空字符串在與任何剩餘參數的精確和部分匹配之後進行匹配)。
charmatch
與pmatch
類似,duplicates.ok
為 true,不同之處在於它區分不匹配和不明確的部分匹配,它確實匹配空字符串,並且不允許多個精確匹配。
NA
值被視為字符串常量 "NA"
。
值
與 x
長度相同的整數向量(如果 nomatch =
NA
則可能包括 NA
),給出 table
中匹配的元素的索引,或 nomatch
。
例子
pmatch("", "") # returns NA
pmatch("m", c("mean", "median", "mode")) # returns NA
pmatch("med", c("mean", "median", "mode")) # returns 2
pmatch(c("", "ab", "ab"), c("abc", "ab"), duplicates.ok = FALSE)
pmatch(c("", "ab", "ab"), c("abc", "ab"), duplicates.ok = TRUE)
## compare
charmatch(c("", "ab", "ab"), c("abc", "ab"))
參考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
Chambers, J. M. (1998) Programming with Data. A Guide to the S Language. Springer.
也可以看看
match
、 charmatch
和 match.arg
、 match.fun
、 match.call
,用於函數參數匹配等,startsWith
用於初始匹配的特定檢查; grep
等用於更一般的(正則表達式)字符串匹配。
相關用法
- R pushBack 將文本推回連接
- R paste 連接字符串
- R plot 通用 X-Y 繪圖
- R prod 向量元素的乘積
- R print 打印值
- R print.default 默認打印
- R pipeOp 前向管道操作符
- R polyroot 求實數或複數多項式的零點
- R pos.to.env 將搜索路徑中的位置轉換為環境
- R print.data.frame 打印 DataFrame
- R parse 解析 R 表達式
- R proc.time R的運行時間
- R prmatrix 打印矩陣,舊式
- R proportions 將表條目表示為邊表的分數
- R pcre_config PCRE 的報告配置選項
- R pretty 漂亮的斷點
- R path.expand 展開文件路徑
- R file.path 構造文件路徑
- R grep 模式匹配和替換
- R getwd 獲取或設置工作目錄
- R vector 向量 - 創建、強製等
- R lapply 對列表或向量應用函數
- R dump R 對象的文本表示
- R Sys.getenv 獲取環境變量
- R rank 樣本排名
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Partial String Matching。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。