2013-10-07 33 views
2

我有一個巨大的數據文件。在一列中,我有一個特殊的大字母序列,看起來像「FAPYGTITSAKVMRTE」。有1000行這樣的序列。對我而言,重要的是選擇序列中至少有一個「K」的序列。其餘的我可以忽略。如何從整個數據集中挑選這些序列?如果需要,我可以在某處上傳數據文件。通過特定標記在表中選擇行

+1

這聽起來像是對Perl/Python和正則表達式的工作。 – tcash21

回答

3

嘗試使用grepl

> set.seed(2) 
> df <- data.frame(sequences=replicate(10, paste0(sample(LETTERS[7:12], 5, TRUE), collapse=""))) # example 

>df[grepl("K", df$sequence), , drop = FALSE] # thanks to Henrik's comment 
    sequences 
1  HKJHL 
3  JHKHI 
7  GGKLJ 
8  JLHKG 
10  KLIJK 
+1

爲什麼'應用(df,1,...)'而不是'sapply(df $ sequences,...)'?對我來說似乎更自然。 – Backlin

+2

我們是否需要任何'* pply'? 'df [grepl(「K」,df $ sequence),,drop = FALSE]' – Henrik

+0

哈哈哈......好像在工作。 Thx傢伙。非常感謝您的幫助!有沒有什麼方法可以表達我是多麼感激,因爲這是我第一次參加這個論壇。 –