R에서 0이 있는 행을 삭제하는 방법(예제 포함)


다음 방법 중 하나를 사용하여 R의 데이터 프레임에서 0이 포함된 행을 제거할 수 있습니다.

방법 1: Base R을 사용하여 0이 포함된 행 제거

 df_new <- df[apply(df!= 0 , 1 , all),]

방법 2: dplyr을 사용하여 0이 포함된 행 제거

 library (dplyr)

df_new <- filter_if(df, is.numeric , all_vars((.) != 0 ))

다음 예에서는 다음 데이터 프레임을 사용하여 실제로 각 메서드를 사용하는 방법을 보여줍니다.

 #create data frame
df <- data. frame (points=c(5, 7, 8, 0, 12, 14, 0, 10, 8),
                 assists=c(0, 2, 2, 4, 4, 3, 7, 6, 10),
                 rebounds=c(8, 8, 7, 3, 6, 5, 0, 12, 11))

#view data frame
df

  points assists rebounds
1 5 0 8
2 7 2 8
3 8 2 7
4 0 4 3
5 12 4 6
6 14 3 5
7 0 7 0
8 10 6 12
9 8 10 11

예 1: 기본 R을 사용하여 0이 포함된 행 제거

다음 코드는 R 기본 apply() 함수를 사용하여 0이 포함된 행을 제거하는 방법을 보여줍니다.

 #create new data frame that removes rows with any zeros from original data frame
df_new <- df[apply(df!= 0 , 1 , all),]

#view new data frame
df_new

  points assists rebounds
2 7 2 8
3 8 2 7
5 12 4 6
6 14 3 5
8 10 6 12
9 8 10 11

null 값이 포함된 세 줄이 제거되었습니다.

예 2: dplyr을 사용하여 0이 포함된 행 제거

다음 코드는 R의 dplyr 패키지에서 filter_if() 함수를 사용하여 0이 포함된 행을 제거하는 방법을 보여줍니다.

 #create new data frame that removes rows with any zeros from original data frame
df_new <- filter_if(df, is.numeric , all_vars((.) != 0 ))

#view new data frame
df_new

  points assists rebounds
1 7 2 8
2 8 2 7
3 12 4 6
4 14 3 5
5 10 6 12
6 8 10 11

null 값이 포함된 세 줄이 제거되었습니다.

이는 R 베이스를 사용하여 얻은 결과와 일치합니다.

참고 : 우리는 is.numeric 함수를 사용하여 데이터 프레임의 모든 숫자 변수가 0이 아니어야 함을 지정했습니다.

추가 리소스

다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.

R의 데이터 프레임에서 빈 줄을 제거하는 방법
R에서 NA 값이 있는 열을 제거하는 방법
R에서 중복 줄을 제거하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다