スクリプトを使用してPCAの列を対話式に変更する方法<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />何が変化しているのかを確認するために、PCAから対話式に列を除外したいです。残念ながら、「自動再計算」オプションは行を除外した場合にのみ機能し、列を除外した場合には機能しないようです。それをするための異なる方法を誰かが知っていますか、「列スイッチャー」機能はそれをすることができるように見えます(しかし私が望むものではありません)、それで原則としてそれは可能であるべきです....
再:スクリプトを使用してインタラクティブにPCAの列を変更する方法こんにちはジュリアン、
速い返事をありがとう!それはいいスクリプトです。残念ながら私はもっと対話性を求めています。私は異なるスライダーを使用して、異なる基準のために列の一部を除外/包含し、スコアプロットを介して最初の2台または3台のPCで何が変化しているかをリアルタイムで見ることができます。。
Columnsの "exclude"関数がプラットフォームによって無視されるのは、私が本当に理解しているわけではありません。特に高次元のデータセットを扱う場合は、私には簡単なことです。または少なくともスクリプトレベルで "列を挿入"コマンドを使用する。しかし、私はそれを直接処理する方法を見つけることができませんでした。一方で、それはどういうわけか実装されなければなりません、さもなければ「Column Switcher」は働かないでしょう....
とにかく、これまでのところうまくいくようにするための2つの回避策を見つけました。もし誰かが似たようなことを試したいのであれば、ここでそれらに言及します。
- PCA推定には「ペアワイズ」法を使用します。その場合は、バックグラウンドでテーブルの2番目のコピーを処理して、除外する列に空白または実際の値を再度入力し、行の除外/組み込みによって再計算を強制することができます。少なくとも最初の3台のPCが固有値> 1を持つ限り、これはうまく機能します。
- 独自のデータテーブルを使用して独自のレポートを作成し、バックグラウンドで必要なPCAを実行して、データテーブルの正しい列に新しいデータをコピーするだけです。ここでは、PCAプラットフォームによって提供されている素晴らしいグラフィックを失います。
再:スクリプトを使用してインタラクティブにPCAの列を変更する方法こんにちはFlo、
あなたが発見したように、自動再計算は行を除外するためだけに働きます。列への変更は考慮されません(1つの例外を除いて、列を文字に変更すると、その分析にはもはや適していないため、PCAから削除されます)。
私はあなたが必要とするものを達成するための一つの方法と共に私がまとめたスクリプトを添付しています。データテーブルを開いてこのスクリプトを実行すると、列を追加または削除できるダイアログボックスが表示されます。

列を追加または削除するたびにPCAが再計算され、以前の結果は最小化されます(ただし、参考のために保持されます)。コード内のPCAスクリプトを変更して、通常要求する出力を生成できます。
これが役に立つことを願っています!
ジュリアン