[解決済み】主成分分析:colMeans(x, na.rm = TRUE)のエラー:'x'は数値でなければなりません。
2022-01-10 23:39:18
質問
主成分分析を実行しているのですが、エラーが発生します。
Error in colMeans(x, na.rm = TRUE) : 'x' must be numeric
はすべて数値でなければなりませんが、データセットに文字オブジェクトがある場合はどのように処理すればよいのでしょうか。例えば
data(birth.death.rates.1966)
data2 <- birth.death.rates.1966
princ <- prcomp(data2)
- data2 以下のデータの例です。
国名を数値で参照する列を新たに追加した方が良いでしょうか?もしそうなら、Rでこれを行うにはどうすればよいですか?
どのように解決するのですか?
を経由することで、文字ベクトルを数値に変換することができます。
factor
. そして、それぞれのユニークな値には、ユニークな整数コードが付けられます。この例では、4つの値があるので、番号は1から4まで、アルファベット順になっていると思います。
> d = data.frame(country=c("foo","bar","baz","qux"),x=runif(4),y=runif(4))
> d
country x y
1 foo 0.84435112 0.7022875
2 bar 0.01343424 0.5019794
3 baz 0.09815888 0.5832612
4 qux 0.18397525 0.8049514
> d$country = as.numeric(as.factor(d$country))
> d
country x y
1 3 0.84435112 0.7022875
2 1 0.01343424 0.5019794
3 2 0.09815888 0.5832612
4 4 0.18397525 0.8049514
その後
prcomp
:
> prcomp(d)
Standard deviations:
[1] 1.308665216 0.339983614 0.009141194
Rotation:
PC1 PC2 PC3
country -0.9858920 0.132948161 -0.101694168
x -0.1331795 -0.991081523 -0.004541179
y -0.1013910 0.009066471 0.994805345
これがあなたのアプリケーションで意味をなすかどうかは、あなた次第です。もしかしたら、最初のカラムを削除したいだけかもしれません。
prcomp(d[,-1])
他の回答者が目指しているのは、数値データを扱うことだと思われます。
関連
-
Swift言語とAppleScriptの違い、AppleScriptの開発状況について教えてください。
-
合理的オブジェクトスクリプトコマンド
-
FcScript V1.0 ヘルプファイル(説明書付き
-
[解決済み】主成分分析:colMeans(x, na.rm = TRUE)のエラー:'x'は数値でなければなりません。
-
[解決済み】gitが「Pull is not possible because you have unmerged files」と言うのはなぜですか?
-
[解決済み】c++のコンパイルエラーです。ISO C++はポインタと整数の比較を禁止しています。
-
[解決済み] 'push_back' の呼び出しに対応するメンバ関数がないエラー
-
[解決済み】mysqli_fetch_array() は、パラメータ 1 が mysqli_result であることを期待し、boolean は【重複】で与えられました。
-
[解決済み】行列式で「数値/複雑な行列/ベクトルの引数が必要です」というエラーが発生?
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
コマンドによるフォルダの簡単なインクリメンタルバックアップ(win/linux)
-
InstallShield でホスト名から IP アドレスを取得するコード
-
[解決済み】C++ -- ' の前に一次式があることが予想される。
-
[解決済み】'const char*' から 'char*' への無効な変換。
-
[解決済み】C++で「Xは型名ではありません」エラー
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み】Looper.prepare()を呼び出していないスレッド内でハンドラを作成できない。)
-
[解決済み】変数が初期化されていないかもしれないエラー
-
[解決済み】ログアウトと再ログインをせずに.bashrcの設定を再読み込みする方法とは?
-
[解決済み】スレッド "main "での例外 java.util.NoSuchElementException: 行が見つかりません [重複]。