본문 바로가기

Statistics/R

[에러해결]cannot rescale a constant/zero column to unit variance prcomp in R

prcomp로 PCA를 그리기위해 주성분 분석을 수행하던중 다음과 같은 에러를 만났다.

"cannot rescale a constant/zero column to unit variance"

Error in prcomp.default(toy, scale. = TRUE): cannot rescale a constant/zero column to unit variance
Traceback:

1. prcomp(toy, scale. = TRUE)
2. prcomp.default(toy, scale. = TRUE)
3. stop("cannot rescale a constant/zero column to unit variance")

이는 PCA분석을 진행할때 사용되는 데이터 table의 열(column)중에 분산이 0인 열이 있기때문이다.

해결법은 간단하다.

data_table2 <-data_table[ , which(apply(data_table, 2, var) != 0)]

분산이 0인 열을 지워주는것.

 

지워주고 다시 분석을 진행해주면 된다.

 

'Statistics > R' 카테고리의 다른 글

heatmap 그리고 저장하기 in R  (0) 2021.10.07
R - CI(confidence Interval)구하기  (0) 2020.11.13