| 사례
phyloseq객체를 사용할 때, read count abundance를 relative abundance로 바꾼 후, OTU table을 보았을때, NaN값이 뜨는 경우가 있다.
ps.rel <- transform_sample_counts(ps, function(x) x / sum(x))
otu <- otu_table(ps.rel)
| 해결
일단 table을 data.frame으로 만들어준 후 NaN을 모두 0으로 치환하면 된다.
otu <- data.frame(otu)
# nan을 판별하는 함수 제작
is.nan.data.frame <- function(x) do.call(cbind, lapply(x, is.nan))
# nan을 모두 0으로 치환
otu[is.nan(otu)] <- 0
# 확인
head(otu)
Nan값이 0으로 치환됐음을 볼 수 있다.
- nan값 판별 함수 출처 : https://stackoverflow.com/questions/18142117/how-to-replace-nan-value-with-zero-in-a-huge-data-frame
반응형