0

次のコードでbiplot生成された赤い線を取り除こうとしています。誰かが助けてくれれば幸いです。

library(psych)
data(bfi)
fa2 <- fa(bfi[16:25],2)  #factor analysis
fa2$scores <- fa2$scores[1:100,]  #just take the first 100
biplot(fa2,pch=c(24,21)[bfi[1:100,"gender"]],bg=c("blue","red")[bfi[1:100,"gender"]],
main="Biplot of Conscientiousness and Neuroticism by gender")

ここに画像の説明を入力

4

2 に答える 2

1

何らかの理由で、psychライブラリは独自のバイプロットを書き直すことを決定したため、標準パラメータの多くは無視されます。独自のバージョンを作成して、矢印の描画を削除するだけです。このメソッドはややハックですが、でテストされていpsych_1.4.5ます。それを確認するだけ

body(biplot.psych)[[c(11,3,12)]]

戻り値

arrows(0, 0, x$loadings[, 1L] * 0.8, x$loadings[, 2L] * 0.8, 
    col = col[2L], length = arrow.len)

正しい行を変更していることを確認します。それからあなたはすることができます

biplot.psych2<-biplot.psych
body(biplot.psych2)[[11]][[3]][[12]]<-NULL

そして、新しい関数を次のように呼び出します

biplot.psych2(fa2,pch=c(24,21)[bfi[1:100,"gender"]],
    bg=c("blue","red")[bfi[1:100,"gender"]],
    main="Biplot of Conscientiousness and Neuroticism by gender")

取得するため

ここに画像の説明を入力

于 2014-08-16T06:45:50.850 に答える
0

質問を投稿してから数か月後、ここに簡単な回答があります。実際に求めているのはバイプロット (因子スコアと因子負荷量を含む) ではなく、因子スコアの単なるプロットです。あなたの例を使用すると、

plot(fa2$scores,bg=c("青","赤")[bfi[1:100,"性別"]],pch=c(24,21)[bfi[1:100,"性別"] ],ylim=c(-3,3),xlim=c(-3,3))。

于 2015-02-14T18:40:18.617 に答える