私は1000を超える変数を持つデータセットについて主成分分析を行っています。私はR Studioを使用しています。コンポーネントの累積分散を見るためにサマリを実行すると、最後の数百のコンポーネントしか見ることができません。最初の100のコンポーネントだけを表示するように要約を制限するにはどうすればよいですか?R - summary.princompの出力を制限する
答えて
これは、これを行うために(あなたがstats:::print.summary.princomp
を入力して、元のコードを見ることができる)print.summary.princomp
を変更することは非常に簡単です:n
のための賢明な値のための基本的なチェックを含めるように編集
pcaPrint <- function (x, digits = 3, loadings = x$print.loadings, cutoff = x$cutoff,n, ...)
{
#Check for sensible value of n; default to full output
if (missing(n) || n > length(x$sdev) || n < 1){n <- length(x$sdev)}
vars <- x$sdev^2
vars <- vars/sum(vars)
cat("Importance of components:\n")
print(rbind(`Standard deviation` = x$sdev[1:n], `Proportion of Variance` = vars[1:n],
`Cumulative Proportion` = cumsum(vars)[1:n]))
if (loadings) {
cat("\nLoadings:\n")
cx <- format(round(x$loadings, digits = digits))
cx[abs(x$loadings) < cutoff] <- paste(rep(" ", nchar(cx[1,
1], type = "w")), collapse = "")
print(cx[,1:n], quote = FALSE, ...)
}
invisible(x)
}
pcaPrint(summary(princomp(USArrests, cor=TRUE),
loadings = TRUE, cutoff = 0.2), digits = 2,n = 2)
を。これをやったので、恒久的な追加としてR Coreに示唆する価値がないのだろうかと思います。シンプルに思え、好きかもしれません。
ありがとうございます。正確に私が必要としたもの。これにより、データマイニングアプリケーションが非常に簡単になります。 – user1209675
@joran:はい、それはRコアチームのIMOに提出する価値がある機能です。 – digEmAll
ローディングを行列形式で保存することができます。行列を変数に保存してから、最初の/中/最後のnを表示するためにサブセット(a la matrix[,1:100]
)を使用できます。この例では、head()を使用しました。各列は主成分です。
head(
matrix(
prin$loadings,
ncol=length(dimnames(prin$loadings)[[2]]),
nrow=length(dimnames(prin$loadings)[[1]])
),
100)
私はこれを試してみましたが、それが動作しているようだ: リットル=負荷(PRIN) L [1:100]
- 1. 制御R出力
- 2. 出力を抑制するR
- 3. 行の出力を制限する
- 4. PHP - プラグインの出力を制限する
- 5. Rubyの `pp`コールの出力を制限する方法は?
- 6. NSLogのNSArray出力を制限する方法
- 7. SolrでMoreLikeThisの出力を制限する
- 8. ffmpeg入力ストリームの出力ファイルサイズを10メガバイトに制限する方法
- 9. XSLT要素の出力を2000文字に制限します。
- 10. DataGridViewユーザー入力を制限する
- 11. Drupalのテキストフィールド入力制限
- 12. 出力を抑制する
- 13. gc()の出力を抑制する
- 14. モジュール位置の出力をJoomla 1.5で1に制限
- 15. 制限付き入力と出力可能な出力を一致させるアルゴリズムはありますか?
- 16. randomForestを回避するためのRサンプリング32ファクタの制限
- 17. R Sweave出力エラー
- 18. 制限JTextField文字入力
- 19. R作画ラスタデータと軸の制限を設定する
- 20. Rの軸制限を照会するには?
- 21. プロセスの出力ファイル数を制限する方法はありますか?
- 22. PHP Whileループの出力を制限する方法はありますか
- 23. R出力を保存するには?
- 24. rをxmlに出力する方法
- 25. 入出力ログを維持するR
- 26. SQLiteスタジオ3.0.7のSQLiteクエリレコード出力制限のデフォルト設定を変更する
- 27. R:リストを出力データフレーム
- 28. R ggplot:pdom出力のgeom_tile行
- 29. RのベクトルをRに入力するのと同じ形式で出力するR
- 30. R内のgedit入力をRstudioワークスペースに出力するには
あなたは小さな再現可能な例を提供することはできますか? – digEmAll
@digemall実際には、データセットは膨大です。私はちょうど実行しています:prin < - princomp(train [c(2:1777)])概要(prin)これを行うと、1776すべての主要コンポーネントの情報が表示されます。私は最初の100程度しか必要ない。 – user1209675
もちろん、完全なコードではありません。私はあなたのステップを正確に理解するためのリットルの例を意味しました。とにかく@ジョランはポイントを得た;) – digEmAll