[R] null/na 체크 (is null)

R 2015. 8. 4. 23:56


R에서 null object 개념이 있는데, vector에서 NA(Not available), vector가 아닌 경우에 NULL이 쓰이는 듯 하다.

NA체크는 is.na() 함수로, NULL 체크는 is.null() 함수로 체크한다.



예제 1) data frame에 NA가 있으면 0으로 치환하는 코드이다


<코드>


library(Matrix)

df <- data.frame(matrix(sample(c(NA, 1:10), 25, replace = TRUE), 5))

df[is.na(df)] <- 0


<결과>


> df <- data.frame(matrix(sample(c(NA, 1:10), 25, replace = TRUE), 5))

> df

  X1 X2 X3 X4 X5

1  2 10  6  6 NA

2  3  5 10  5 NA

3 10  7  6  6  2

4  3  2  1  3  4

5  3  7  6  4  6

> df[is.na(df)] <- 0

> df

  X1 X2 X3 X4 X5

1  2 10  6  6  0

2  3  5 10  5  0

3 10  7  6  6  2

4  3  2  1  3  4

5  3  7  6  4  6



예제 2) data frame의 특정 컴럼의 값이 NA이면 0으로 변경한다.


rank_value <- scores["data",]$total
if (is.na(rank_value)) {
    rank_value <- 0

}


예제 3) 만약 단순한 null 체크라면 다음과 사용할 수 있다.


<코드>


is.defined_function = function(x) { !is.null(x) }

df

is.defined_function(df)

xxxx

is.defined_function(xxxx)



<결과>

> is.defined_function = function(x) { !is.null(x) }
> df
  X1 X2 X3 X4 X5
1  2 10  6  6  0
2  3  5 10  5  0
3 10  7  6  6  2
4  3  2  1  3  4
5  3  7  6  4  6
> is.defined_function(df)
[1] TRUE
> xxxx
에러: 객체 'xxxx'를 찾을 수 없습니다
> is.defined_function(xxxx)
Error in is.defined_function(xxxx) : 객체 'xxxx'를 찾을 수 없습니다


'R' 카테고리의 다른 글

[R] rjson으로 data frame 으로 만들기  (0) 2015.08.05
[R] 리눅스 (Red-hat 계열) 모듈 설치  (0) 2015.08.05
[R] HTTP Client - httr  (0) 2015.08.03
R에서 한줄 읽기 (readline)  (0) 2015.08.01
R에서 파일 쓰기 (write)  (0) 2015.08.01
Posted by '김용환'
,