0

いくつかの同様の ID と関連情報を含むデータ フレームがあります。

col1 = c("id_string", "1id_string", "id_string1")    
col2 = c("x", "y", "z")    
col3 = c("d", "e", "f")    
data = data.frame(col1, col2, col3)

マッチングに使用したい文字列を含むベクター (ループからの出力) があります。

id = "id_string"

grep を使用して、ベクトル内に保持されている文字列を、文字列を含む data$col1 のすべての行と一致させました

grep(id, data$col1)

ただし、 data$col1 から行番号のみを抽出し、id 内に保持されている正確な文字列 (前後に文字はありません) を抽出したいと考えています。どうすればこれを達成できますか?

4

1 に答える 1

3

使用する必要がある場合は、grep試してください

data
##         col1 col2 col3
## 1  id_string    x    d
## 2 1id_string    y    e
## 3 id_string1    z    f

grep(paste0("^", id, "$"), data$col1)
## [1] 1

または@Arunが提案したように

data[data$col1 == id, ]
于 2013-04-25T08:55:12.290 に答える