前提・実現したいこと
アンケート結果の個人属性を用いて、Rによる主成分分析を、princompを用いて行おうとしています。
発生している問題・エラーメッセージ
回答者の年齢について、年齢階層別にダミー変数を設定しており、〇歳以上~〇未満に該当すれば1、該当しなければ0としています。
年齢のダミー変数は4種類あり、データは必ず4種類のいずれかに分類されます。
(変数:AGE1、AGE2、AGE3、AGE4)
地域別にデータセットを作成したのですが、エラーが出るものと出ないものがあります。
エラーメッセージは以下の通りです。
Error in princomp.default(x, ...) : covariance matrix is not non-negative definite
該当のソースコード
R
1X <- read.table("C:/R/【データ名称】.csv", header=TRUE, sep=",", na.strings="NA", dec=".", strip.white=TRUE); 2edit(X); 3str(X) 4PC <- princomp(~AGE1+AGE2+AGE3+AGE4, cor=TRUE, data=X)
試したこと
データ数を減らすとエラーが出ない場合がありました。
補足情報(FW/ツールのバージョンなど)
RStudioでプログラムを管理しています。
データは、調査番号と変数を列として、データ数は最大で3千程度です。
以下のサイトを参考にしました。
https://www.kkaneko.jp/data/rstat/rprinc.html
あなたの回答
tips
プレビュー