2013-10-07 4 views
2

거대한 데이터 파일이 있습니다. 한 열에는 "FAPYGTITSAKVMRTE"처럼 보이는 큰 문자의 특정 시퀀스가 ​​있습니다. 그러한 시퀀스에는 1000 개의 행이 있습니다. 중요한 것은 시퀀스에서 최소한 하나의 "K"가있는 시퀀스를 선택하는 것입니다. 나머지는 무시할 수 있습니다. 전체 데이터 세트에서 해당 시퀀스를 선택하는 방법은 무엇입니까? 필요한 경우 데이터 파일을 어딘가에 업로드 할 수 있습니다.특정 표식으로 표의 행 선택

+1

이 펄/파이썬 정규 표현식에 대한 작업 같은 소리 사용해보십시오. – 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

'(sfly (df $ sequences, ...)'대신'apply (df, 1, ...)'를 쓰는 이유는 무엇입니까? 나에게 더 자연 스럽네. – Backlin

+2

'* pply'가 필요합니까? 'df [grepl ("K", df $ sequence),, drop = FALSE]' – Henrik

+0

하하하 ... 일하는 것 같아. 너들. 정말 도움을 주셔서 감사합니다! 이 포럼에서 처음으로 얼마나 감사하고 있는지 보여 줄 수있는 방법이 있습니까? –