zoukankan      html  css  js  c++  java
  • R向量匹配match和pmatch

    match(x, table, nomatch = NA_integer_, incomparables = NULL)

    x: 向量, 要匹配的值;
    table: 向量, 被匹配的值;

    nomatch: 没匹配上的返回值, 必须是整数;
    incomparables: 指定不能用来匹配的值.

    > match(c(1,3,6),c("1","3","6","we"))
    [1] 1 2 3

    pmatch(x, table, nomatch = NA_integer_, duplicates.ok = FALSE)
    x: 向量, 要匹配的值;
    table: 向量, 被匹配的值;
    nomatch: 没匹配上的返回值, 必须是整数;
    duplicates.ok: table里面的元素是否可以适用多次.

     pmatch函数是一个部分匹配函数, 依次从x里面挑出元素, 对照table进行匹配,
    若匹配上则剔除匹配上的值, 不再参与下次匹配, duplicate.ok可设置是否剔除;

     对于某一个元素, 匹配一共分成三步:
    1. 如果可以完全匹配, 则认为匹配上了, 返回table中的位置;
    2. 不满足上述条件, 如果是一部分匹配, 则返回table中的位置;
    3. 不满足上述条件, 则认为没有值与其匹配上.

    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"), dup = FALSE)
    [1] NA 2 1
    > pmatch(c("", "ab", "ab"), c("abc", "ab"), dup = TRUE)
    [1] NA 2 2
    > charmatch(c("", "ab", "ab"), c("abc", "ab"))
    [1] 0 2 2

  • 相关阅读:
    84最佳买卖股票时机含冷冻期(309)
    83 不同路径 II(63)
    82同路径(62)
    模块与包
    名称空间与作用域
    函数的参数
    函数对象
    函数继续学习中
    python学习day3-上午
    第一个完成程序:通过文件实现注册登录
  • 原文地址:https://www.cnblogs.com/wwxbi/p/4338506.html
Copyright © 2011-2022 走看看