2016-07-19 3 views
0

데이터 매트릭스가 1200 (행, 샘플 이름) * 20000 (열, 유전자 이름), 관심있는 5 개의 유전자가 모든 샘플에서 0 값을 가질 때 행을 삭제하고 싶습니다.AND에서 R을 사용하여 데이터 프레임을 수정하는 방법

내가 단일 유전자에 사용

명령을

allexp <-preallexp[preallexp$GZMB > 0, ] 

는하지만이 같은 사용하려는 위의 명령에서 :

allexp <-preallexp[preallexp$GZMB && preallexp$TP53 && preallexp$EGFR && preallexp$BRAF && preallexp$VGEF > 0, ] 

하지만이 명령 나던 작품은, 나는 당신의 도움이 필요하세요 .. 위의 명령에서 AND를 사용하는 방법 디.

+2

'&&'반환을 조건의 첫 번째 논리적 결과를 다음과 같이, 당신은 또한 당신이 조건 매번 반복해야합니다 (단일 앰퍼샌드)''& 사용해야 즉'preallexp $ GZMB> 0 preallexp $ TP53> 0 & ...' – digEmAll

+0

고마워, digEmAll,하지만 5 유전자의 합이 0이면, 삭제 행, 미안 내가 위에서 언급 한 않았다. – mona

답변

2

편집 : OP에 대한 응답으로. 나는이 코드를 훨씬 더 효율적인 방법이있을거야,하지만이 필요하시면 : 당신은 내가 생각 시가가의 일을해야 할 것이다 부정적인 표현 값이 없다면

allexp <-preallexp[preallexp$GZMB + preallexp$TP53 + preallexp$EGFR + 
        preallexp$BRAF + preallexp$VGEF > 0, ] 
+0

감사합니다 mkt,이 코드는 단지 각 유전자가 0 값을 가지고 행을 삭제하지만 행의 5 유전자의 합이 0 인 경우 행을 삭제하고 싶습니다. – mona

+0

수정 됨. 아직 우아하지 않지만 작동해야합니다. – mkt

+0

고맙지 만 위 명령에서 작동하지 않습니다. – mona

1

. 그러나 여기에 내 것이있다. 이 값 행을 제거 할 경우 5 개 유전자와이 너무 모든 5 개 유전자 그래서 우리는의 경우 이러한 행을 제거 할 수 있습니다 제로

의 값이있는 행을 제공합니다 0

which(preallexp$GZMB == 0 && preallexp$TP53 && 
preallexp$EGFR == 0 && preallexp$BRAF == 0 && preallexp$VGEF == 0) 

의 값의 각 dataframe

allexp <-preallexp[ 
    -(which(preallexp$GZMB == 0 && preallexp$TP53 && 
    preallexp$EGFR == 0 && preallexp$BRAF == 0 && preallexp$VGEF == 0)), ] 
+0

고마워, 그 작품은 지금 .. – mona

+0

@mona 그것을 듣기 좋다. 문제를 해결 한 답을 수락 할 수 있습니까? – mkt

관련 문제