>

C의 현재 값이 이전 값보다 크면 전체 행을 삭제하고 해당 행을 삭제하고 싶습니다

A  B   C 
1: 1 10 100
2: 2 20 200 
3: 3 30 800
4: 4 40 400
5: 5 50 500

예를 들어 3 행 : 800>200에서 3 행을 삭제

결과 :

A  B    C
1: 1 10 100
2: 2 20 200
4: 4 40 400
5: 5 50 500

감사합니다 !!

  • 답변 # 1

    이것이 가능합니다 :

    your_data[c(diff(your_data$C) >= 0, TRUE), ]
    
    

  • 답변 # 2

    dplyr 와 함께 :

    library(dplyr)
    filter(df, C <= lead(C, default = C[n()]))
    
    

    출력 :

     A  B   C
    1 1 10 100
    2 2 20 200
    3 4 40 400
    4 5 50 500
    
    

    데이터 :

    df <- structure(list(A = 1:5, B = c(10L, 20L, 30L, 40L, 50L), C = c(100L, 
    200L, 800L, 400L, 500L)), class = "data.frame", row.names = c("1:", 
    "2:", "3:", "4:", "5:"))
    
    

관련 자료

  • 이전 java - nosuchmethoderror - orgspringframeworkbeansfactoryconfigconfigurablelistablebeanfactory
  • 다음 postgresql - 나머지 줄을 다음 줄에 넣습니다