毎月の降水量でRでPCAを行いたい。冬には雨が降らないので、私の列のかなりの値は0です。
PCAを実行すると、次のメッセージがコンソールに表示されます。cov.wt(z)のエラー: "x"には有限値のみが含まれている必要があります
私はここでRが私に言っているのは、私の0値が気に入らないということです。
だから、私は1.0000000001すべてを掛けることによって、私の0値を "実数"に変更しようとしました。しかし、私がそれをして新しい値でRを再実行しても、同じメッセージがポップアップします。
私は、私が(私はできません)または何らかの形でそれらを代入して欠損値に対処できるPCAコードを使用しています。しかし、私の0は実際の値であり、欠損値ではありません。
私はウェブ上でどのように多くの情報を見つける欠損値やNA値は扱いますが、ゼロ値を扱う方法はありません。どのように私はこれを行うことができます誰も提案がありますか?助けてくれて本当にありがとうございます!
回答:
回答№1は0私の推測は、 "covのエラーです。wt(z): "x"は有限の値のみを含む必要があります "は、一部の共分散が非有限である、つまりNA / NaNであるという苦情を受けています。
コード例:
latent = rnorm(10)
data = data.frame(rep(0,10), #10 0"s
latent+rnorm(10), #latent and noise
latent+rnorm(10), #
latent+1.5*rnorm(10)) #
colnames(data) = c("zeros","var1","var2","var3")
library(psych)
principal(data) #error!
principal(data[-1]) #no errors