R:一次grep多个字符串

时间:2019-05-04 21:57:35

标签: r string

我有一个带有1个变量和5,000行的数据框,其中每个元素都是一个字符串。

ctx:Context

我需要找到并输出与3个特定元素相对应的行号。 目前,我使用以下代码:

ctx.by

并获得以下输出:     [1] 2 [2] 4 [3] 5000

问题1.是否有一种使语法更简洁的方法,所以我不必在每一行上都使用grep和df [,1]?

问题2.如果是,如何输出必要行位置的单个数值数组,因此结果看起来像这样?

      <!DOCTYPE HTML>
      <html>
      <head></head>
      <body>

      <form>
      <br><br>Name:
      <br><input type="text" name="sname" id="sname" value="" size=20 class=verd15 required />
      <br><br>Email:</span>
      <br><input type="email" name="semail" id="semail" validate="email" value="" size=20 class=verd15 required />

      <br><br>

        <div id="canvas">
            Canvas is not supported.
        </div>

        <script>
            zkSignature.capture();
        </script>
        <img id="saveSignature" alt="Saved image png"/>
        <table border=0 cellpadding=3 width=300>
        <tr>
        <td>
        <button type="button" onclick="zkSignature.send()" class=verd13>&nbsp; &nbsp; Sign &nbsp; &nbsp;</button>
        </td>
        <td align=right valign=top>
        <button type="button" onclick="zkSignature.clear()" class=verd10> Clear </button>
        </td>
        </tr></table>

        </form>


      </body>
      </html>

到目前为止我尝试过的。
    grep(“收费。”,“轻松交友。”,“轻松交友。”,
    df [,1])#这不起作用

我试图创建一个名为m1的向量,其中包含所有三个元素,然后创建grep(m1,df [,1])#这也不起作用

1 个答案:

答案 0 :(得分:2)

由于这些是完全匹配项,因此请使用phrases是要匹配的短语的字符向量:

match(phrases, df[, 1])

如果没有短语是另一个短语的子串,这也可以工作:

grep(phrases, df[, 1])