R에서 inf 값을 na로 바꾸는 방법


다음 방법을 사용하여 Inf 값을 R의 NA 값으로 바꿀 수 있습니다.

방법 1: Inf를 벡터의 NA로 대체

 x[is. infinite (x)] <- NA

방법 2: 데이터 프레임의 모든 열에서 Inf를 NA로 교체

 df[sapply(df, is. infinite )] <- NA

방법 3: 데이터 프레임의 특정 열에서 Inf를 NA로 교체

 df[c(' col1 ', ' col2 ')][sapply(df[c(' col1 ', ' col2 ')], is. infinite )] <- NA

이 튜토리얼에서는 다음 데이터 프레임을 사용하여 실제로 각 방법을 사용하는 방법을 설명합니다.

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 points=c(10, 10, 8, 14, 15, 15, 17, 17))

#view data frame
df

  team position points
1 AG 10
2 AG 10
3AF 8
4 AF 14
5 BG 15
6 BG 15
7 BF 17
8 BF 17

예 1: 벡터에서 Inf를 NA로 대체

다음 코드는 모든 Inf 값을 벡터의 NA 값으로 바꾸는 방법을 보여줍니다.

 #create vector with some Inf values
x <- c(4, 12, Lower, 8, Lower, 9, 12, 3, 22, Lower)

#replace Inf values with NA
x[is. infinite (x)] <- NA

#view updated vector
x

 [1] 4 12 NA 8 NA 9 12 3 22 NA

원본 벡터의 모든 Inf 값이 NA 값으로 대체되었습니다.

예 2: 데이터 프레임의 모든 열에서 Inf를 NA로 대체

다음 코드는 데이터 프레임의 각 열에서 Inf 값을 NA 값으로 바꾸는 방법을 보여줍니다.

 #create data frame
df <- data. frame (x=c(4, 5, 5, 4, Inf, 8, Inf),
                 y=c(10, Lower, Lower, 3, 5, 5, 8),
                 z=c(Inf, 5, 5, 6, 3, 12, 14))

#view data frame
df

    X Y Z
1 4 10 Lower
2 5 Lower 5
3 5 Lower 5
4 4 3 6
5 Lower 5 3
6 8 5 12
7 Lower 8 14

#replace Inf values with NA values in all columns
df[sapply(df, is. infinite )] <- NA

#view updated data frame
df

   X Y Z
1 4 10 NA
2 5 NA 5
3 5 NA 5
4 4 3 6
5 NA 5 3
6 8 5 12
7 NA 8 14

데이터 프레임의 각 열에 있는 Inf 값은 NA 값으로 대체되었습니다.

예 3: 데이터 프레임의 특정 열에서 Inf를 NA로 대체

다음 코드는 데이터 프레임의 특정 열에서 Inf 값을 NA 값으로 바꾸는 방법을 보여줍니다.

 #create data frame
df <- data. frame (x=c(4, 5, 5, 4, Inf, 8, Inf),
                 y=c(10, Lower, Lower, 3, 5, 5, 8),
                 z=c(Inf, 5, 5, 6, 3, 12, 14))

#view data frame
df

    X Y Z
1 4 10 Lower
2 5 Lower 5
3 5 Lower 5
4 4 3 6
5 Lower 5 3
6 8 5 12
7 Lower 8 14

#replace Inf values with NA values in columns 'x' and 'z' only
df[c(' x ', ' z ')][sapply(df[c(' x ', ' z ')], is. infinite )] <- NA

#view updated data frame
df

   X Y Z
1 4 10 NA
2 5 Lower 5
3 5 Lower 5
4 4 3 6
5 NA 5 3
6 8 5 12
7 NA 8 14

“x” 및 “y” 열의 Inf 값이 NA 값으로 대체되었습니다.

그러나 “y”열의 Inf 값은 그대로 유지되었습니다.

추가 리소스

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

R에서 is.na를 사용하는 방법
R에서 na.omit을 사용하는 방법
R에서 공백을 NA로 바꾸는 방법

의견을 추가하다

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