2011-05-11 1 views
0

저는 R의 초보자이고 도움이 필요합니다 :while을 사용하여 특정 행을 삭제하는 방법은 무엇입니까?

내 데이터베이스에서 마이크로 데이터로 작업하고 있기 때문에 매우 커요. 열의 특정 값이있을 때 일부 행을 제거하고 싶습니다. ... 내가 할 몇 가지 기능을 구현하려고했다 ....하지만 IF 조건 (true/false 문제)에 문제가 있습니다. x 데이터베이스입니다

dellinhas<-function(x){ 

    n<-nrow(x) 
    i<-1 
    while (i<=n) { 
    if (x[i,]$DISC=="L") {x<-x[-(i:i),]} 
    i<-i+1} 
    dadosPrmM<-x 
} 

: 해당 행의 열 DISC는 "L"인 경우 예를 들어, 나는 그 때 내가이 기능을했다, 행에게 난을 제거 할. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

답변

6

사용 첨자 :

x[x$DISC != "L",] 

그리고 기본 데이터 조작 문제에 대한이 웹 사이트를보십시오 : 두 번째이 http://www.statmethods.net/

+0

I를. R에서는 루프를 사용하는 경우가 거의 없으며 일반적으로 목록에 매핑하거나 (매우 강력한) 첨자 표기법을 사용합니다. – Kyle

+0

친애하는 충성, 지금 나는 condicion가 요구하는 크기와 관련된 문제가있다. 그리고 나는 단지 one.do를 가지고있다 당신은 다른 생각을 품 느냐? thanks man !!! –

+0

Vicent .... 나는 그것을 얻었다. ... 웹 사이트 덕분에 ifelse : dellinhas2 <-function (x) { n <-nrow (x) i <-1 while (i < = n) { ifelse (x [i,] $ a == 30, x <-x [- (i : i),], x <-x) i <-i + 1} } –