2012-10-08 59 views
1

我在R中獲得第一步,也許有人可以幫助我。我有一個有n列和n行的表格,我想寫一個腳本來搜索每行的值,如果沒有匹配值,就應該繼續下一行,直到匹配值。一旦匹配值,它應該返回到前一行,並將該行與表的第一列連接起來。任何人都可以給我任何想法如何使這在R?在R中搜索行,直到它匹配給定的值然後

+1

你的數據集有多大?你能否提供一些[數據](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),所以我們有一些工作?您還應該顯示所需的輸出。 – Roland

+0

你不能(或實際上不應該)將一行與一列連接起來。你如何設想輸出陣列?請詳細說明你的輸入是什麼(實際上,不僅僅是「它是一個矩陣」),你試圖產生的輸出是什麼。解決這個問題可能有更好的方法。 –

回答

1

讓我們來查找foo表中第一次出現的值X。試試這個:

i = min(which(foo==X, arr.ind=T)[,1]) 
if (i > 1) unlist(c(foo[i-1,], foo[,1])) 

您可以進一步通過unname()命令刪除你的結果的名稱或names()指定您所需的名稱。

+0

或只是'bar < - foo [foo [,1] == X,]'來提取匹配的行。 –

+0

@CarlWitthoft:我從這個問題中瞭解到,期望值不一定在foo的第一列。它應該在整個行內進行搜索。 – Ali

+0

在這種情況下,您的評論無法完成這項工作是正確的。 –

相關問題