5000列30行のデータフレームでPCAを実行しようとしています
Sample <- read.table(file.choose(), header=F,sep="\t")
Sample.scaled <- data.frame(apply(Sample,2,scale))
pca.Sample <- prcomp(Sample.scaled,retx=TRUE)`
エラーが発生しました
Error in svd(x, nu = 0) : infinite or missing values in 'x'
sum(is.na(Sample))
[1] 0
sum(is.na(Sample.scaled))
[1] 90
以下を使用して、すべてのna値を無視しようとしました
pca.Sample <- prcomp(na.omit(Sample.scaled),retx=TRUE)
次のエラーが発生します
Error in svd(x, nu = 0) : 0 extent dimensions
na.actionには数式を指定する必要があるという報告があったため、以下を試してみました
pca.Sample <- prcomp(~.,center=TRUE,scale=TRUE,Sample, na.action=na.omit)
次のエラーが発生します
Error in prcomp.default(x, ...) :
cannot rescale a constant/zero column to unit variance
問題は、「データ列の1つが定数です。定数の分散が0であり、スケーリングが0で除算されるためです。これは不可能です」と考えてください。
しかし、これに取り組む方法がわかりません。どんな助けでも大歓迎です...。