Fehler in svd(x, nu = 0) : 0 Maße Abmessungen

Ich versuche zu tun, PCA auf den Daten-frame mit 5000 Spalten und 30 Zeilen

Sample <- read.table(file.choose(), header=F,sep="\t")
Sample.scaled <- data.frame(apply(Sample,2,scale))
pca.Sample <- prcomp(Sample.scaled,retx=TRUE)`

Habe den Fehler

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

Versuchte zu ignorieren, alle na-Werte mithilfe der folgenden

pca.Sample <- prcomp(na.omit(Sample.scaled),retx=TRUE)

Welche gibt die folgende Fehlermeldung

Error in svd(x, nu = 0) : 0 extent dimensions

Gab es Berichte, dass na.Aktion erfordert Formel gegeben werden und daher versucht die unten

pca.Sample <- prcomp(~.,center=TRUE,scale=TRUE,Sample, na.action=na.omit)

Nun immer die folgende Fehlermeldung

Error in prcomp.default(x, ...) :
  cannot rescale a constant/zero column to unit variance

Denke, dass könnte das problem werden, weil "Einer meiner Daten-Spalten konstant ist. Die Varianz einer Konstanten ist 0, und die Skalierung würde dann eine Division durch 0, was unmöglich ist."

Aber nicht sicher, wie Sie in Angriff zu nehmen. Jede Hilfe sehr geschätzt ....

Versuchen is.finite(Sample) statt is.na. Auch, Lesen Sie in der als-Daten.Rahmen, konvertieren zu matrix-und zurück zu den Daten.Rahmen, sind Sie sicher, dass alle Ihre Spalten in Sample numerisch sind (oder dass R denkt, dass Sie sind). lapply(Sample, scale) kann besser funktionieren.
Beachten Sie auch, dass ?prcomp bereits eine na.action= parameter werden sollte na.omit standardmäßig.
Danke für die Formatierung

InformationsquelleAutor Tinu Thomas | 2012-11-12

Schreibe einen Kommentar