2

ca パッケージでコレスポンデンス プロットをプロットするときに、行名と列名のフォント サイズ/色/太さを制御する方法を知っている人はいますか?

次のコードは非常に見栄えの良いグラフを生成しますが、より多くの属性 (非常に重い、超重い、超重い以上のもの) またはより多くのワーカー クラス (ピオン、手下など) がある場合、グラフは少し雑然とします。何が何だったのかわかりにくい。

ワーカーのカテゴリとは別の色ですべての属性をリストできるとよいでしょう。

library(ca)
data("smoke")

plot(ca(smoke)
  , map = "symmetric"
  , what =c("active","active")
  , mass = c(T,T)
  , contrib = "absolute"
  , col = c("red","blue")
  , pch = c(15,17,15,17)
  , labels = c(2,2)
  , arrows = c(T,F)
)

または、ggplot2 を使用してこれらの線に沿って何かを再現する方法があるかどうかは誰にもわかりませんか? Web サイトで同等と思われるものは見つかりませんでしたが、パッケージについてはよくわかりません。

ありがとう、チェイス

4

2 に答える 2

6

R で利用可能な他のコレスポンデンス分析関数をいくつか試してみます。それらのいくつかでは、文字拡張係数 ( cex) オプションがサポートされているため、フォント サイズを制御できます。例えば

library(FactoMineR)
res<-CA(smoke, ncp=5, row.sup=NULL, col.sup=NULL, graph = FALSE)
plot.CA(res, axes=c(1, 2), col.row="red", col.col="blue", label=c("col","col.sup", "row", "row.sup"),cex=.7)

library(MASS)
biplot(corresp(smoke, nf = 2),cex=.7,col=c("red","blue"))

library(anacor) # actually I didn't find a way to control font size here
res <- anacor(smoke, scaling = c("Benzecri", "Benzecri"),ndim=2) 
plot(res, plot.type = "jointplot", conf = NULL) 

編集

もちろん、ca 結果セットから座標を取得し、ggplot2 を使用してこのプロットを生成することもできます。ここでは CA の res オブジェクトを使用しています。

df <- data.frame(dim1 = c(res$col$coord[,1],res$row$coord[,1]), 
dim2 = c(res$col$coord[,2],res$row$coord[,2]),
type=c(rep(1,length(res$col$coord[,1])),rep(2,length(res$row$coord[,1]))))

library(ggplot2)
qplot(dim1,dim2,data=df,colour=factor(type)) +
geom_text(aes(label=rownames(df)),size=3)
于 2010-04-16T14:45:26.347 に答える
0

George Donta の 2 番目のコード ブロックは、非常に良い例です。私にとって大きな問題を解決しました。しかし、CAオブジェクトの名前が実際には次のようになっていることを理解するのに永遠にかかりました:

[YOUR_CA-CLASS-TABLE]$colcoord[,1]

[YOUR_CA-CLASS-TABLE]$rowcoord[,1]
于 2014-01-20T21:52:53.227 に答える