2015-10-16 34 views
1

我有一個三列和兩行的數據集。Grep:如何使用?

1 2 3 
4 5 9 

我想使用「grep」命令來查找9的列號。我已經知道它將是第二行。所以:

grep(9, ds[2,]) 

它不起作用(即返回integer(0))。

但是,反過來,如果我想知道在哪個行號9,我知道列數它的工作

grep(9, de[,3]) 

這將返回答案2

回答

4

grep()在這裏不合適,您可以使用數字匹配代替。如果您知道行狀態和列狀態,則在匹配==之後,您可以匹配which()

> ds <- matrix(c(1, 2, 3, 4, 5, 9), nrow = 2) 
> ds 
    [,1] [,2] [,3] 
[1,] 1 3 5 
[2,] 2 4 9 
> which(ds[2,]==9) 
[1] 3 
> which(ds[,3]==9) 
[1] 2 
+1

謝謝。我不熟悉'which'命令。 – Ashoka

4

如果不處理字符串,請不要使用正則表達式函數。使用which

m <- rbind(1:3, c(4, 5, 9)) 
which(m == 9, arr.ind = TRUE) 
#  row col 
#[1,] 2 3