1. ホーム
  2. statistics

Rマッピング

2022-02-19 01:31:28

図面例

Rグラフクックブックの例

From.
http://www.dataguru.cn/article-1766-1.html
Today I suddenly found a book dedicated to teaching R graphing, R Graph Cookbook, and found it quite good. When I first liked the R language is because it is particularly good-looking drawing. The following is the content of this book, after I study, translate and post it. (My level is not enough, originality is not enough, but learning is the process of imitation and then innovation) The reason why I want to post it to my blog is that I am afraid that one day I will forget it, so I can search it directly to my blog, and it is also convenient for others.

plot(cars$dist~cars$speed,#y~x, cars is the data that comes with R
main="Relationship between car distance & speed",# title
xlab = "Speed(miles per hour)",#x-axis title
ylab = "Distance travelled (miles)",#Y-axis header
xlim = c(0,30),# set the x-axis to take the value of the interval 0 to 30
ylim = c(0,140),# set the y-axis take the value of the interval of 0 to 140
xaxs = "i",# here is to set the style of the x-axis, temporarily did not see how much difference
yaxs = "i",
col = "red",# set the color
pch = 19)#pch refers to the shape of the dot, expressed in numbers, see the help file
#What if I want to save the image? I think the easiest way is to use RStudio, an IDE that is extremely good, but unfortunately many people do not know. # If you do not know, you can use the following code to achieve: # (there are many more parameters of the graphics, I only used a few of them here)
png(filename="scatterplot.png",width=480,height=480)
plot(cars$dist~cars$speed,#y~x
main="Relationship between car distance & speed",# title
xlab = "Speed(miles per hour)",#x axis title
ylab = "Distance travelled (miles)",#Y-axis header
xlim = c(0,30),# set the x-axis to take the value of the interval 0 to 30
ylim = c(0,140),# set the y-axis take the value of the interval of 0 to 140
xaxs = "i",# here is to set the style of the x-axis, temporarily did not see how much difference
yaxs = "i",
col = "red",
pch = 19)#pch refers to the shape of the point, expressed in numbers, see the help file
dev.off()


png(filename="scatterplot.png",width=480,height=480)
plot(cars$dist~cars$speed,#y~x
main="Relationship between car distance & speed",# title
xlab = "Speed(miles per hour)",#x axis title
ylab = "Distance travelled (miles)",#Y-axis header
xlim = c(0,30),# set the x-axis to take the value of the interval 0 to 30
ylim = c(0,140),# set the y-axis take the value of the interval of 0 to 140
xaxs = "i",# here is to set the style of the x-axis, temporarily did not see how much difference
yaxs = "i",
col = "red",
pch = 3)#pch refers to the shape of the point, expressed in numbers, see the help documentation
points (cars$speed~cars$dist,pch=19)# because it is difficult to get the data, the original data causality reversed, pch set different from the previous to distinguish
dev.off()

以下はRでの散布図についてですが、散布図はplot(x,y)を使えば簡単ですが、散布図は単純すぎるので、より美しいグラフにするために細かくパラメータを設定する必要があります。

<スパン

<スパン

<スパン

さっそく、コメントアウトしてあるコードを見てみましょう。

png(filename="scatterplot.png",width=480,height=480)
Sales <- read.csv("/home/rickey/documentation/eBooks/R Tutorials/Learn R statistics/R Graph/Code/Chapter 1/Data Files/citysales.csv",header=TRUE)# header set to TRUE means that the names of the rows and columns of data are also read in
barplot(Sales$ProductA,
names.arg=Sales$City,
col="blue")
dev.off()


もし、上のグラフの中にプロットする必要がある別のデータセットがある場合、つまり、同じグラフの中に両方のデータセットの散布図がある場合は、次のようにポイント関数を使用することができます。
#pdf("mygraph.pdf")#pdf file
win.metafile("filename.wmf")#windows graphics file
#png("filename.png")#PBG file
#jpeg("filename.jpg")#JPEG file
#bmp("filename.bmp")#BMP file
#postscript("filename.ps")#PostScript files
attach(mtcars)
plot(wt,mpg)
abline(lm(mpg~wt))
title("Regression of MPG on Weight")
detach(mtcars)
dev.off()




データがない場合は、data()を使ってR言語に組み込まれたデータを見ることができます。まだまだデータはたくさんあります。

<スパン これは散布図ですが、パラメータの中にtype="l"#とlの文字を入れるだけで、直列の点を線として描画してくれます。

<スパン ここでは、本に付属しているデータを使って、以下のようなコードで、棒グラフ(バープロット)を描きます。

dose=c(20,30,40,45,60)
drugA=c(16,20,27,40,60)
drugB=c(15,18,25,31,40)
plot(dose,drugA,type="b")
dose=c(20,30,40,45,60)
drugA=c(16,20,27,40,60)
drugB=c(15,18,25,31,40)
plot(dose,drugA,type="b")
opar = par(no.readonly=TRUE) # copy a single sign of the graph parameters
par(lty=2,pch=17) #modify the default linear type to dashed (lty=2) and change the default dot symbol to a solid triangle (pch=17)
# can also use par(lty=2);par(pch=17) two sentences
plot(dose,drugA,type="b")#plotted graph
par(opar)# restores the original settings
# or write plot(dose,drugA,type="b",lty=2,pch=17) like this to draw the graph, but only for this graph







グラフィック出力(pdfWinPBG↵JPEG↵PostScript)

<スパン グラフィックをコードで保存するには、ターゲットグラフィックデバイスをオンにするステートメントとターゲットグラフィックデバイスをオフにするステートメントの間に、描画ステートメントを挟むだけです。

n=10
mycolors=rainbow(n)
pie(rep(1,n),labels=mycolors,col=mycolors)
mygrays=gray(0:n/n)
 pie(rep(1,n),labels=mygrays,col=mygrays)


<スパン


 グラフィックス入門

グラフィックを使う

dose=c(20,30,40,45,60)
drugA=c(16,20,27,40,60)
drugB=c(15,18,25,31,40)
plot(dose,drugA,type="b",col="red",lty=2,pch=2,lwd=2,main="Clinical Trails for Drug A",sub="This is hypothetical data",xlab="Dosage",ylab="Drug Respponse",xlim=c(0,60),ylim=c(0,70))


type="b" は、点と線の両方を描画します。
type="c" 点はなく、線のみ。

5. グラフィックパラメータ

上記の例では、点のシンボルとして中空の円の代わりに実線の三角形を使用したい場合、病気はこれらの点を接続するために代わりに破線を使用したいと思います。
attach(mtcars)
plot(wt,mpg,main="Mileage vs Car Weight",xlab="Weight",ylab="Mileage",pch=18,col="blue")
text(wt,mpg,row.names(mtcars),cex=0.6,pos=4,col="red")
detach(mtcars)


opar=par(no.readonly=TRUE)
par(cex=1.5)
plot(1:7,1:7,type="n")
text(3,3,"Example of default text")
text(4,4,family="mono","Example of mono-spaced text")
text(5.5,family="serif","Example of serif text")
par(opar)





pch :ポイント描画時に使用するシンボルを指定します。

cex : シンボルの大きさを指定します。cex はデフォルトサイズに対して描画シンボルをどれだけ拡大縮小するかを示す数値です。デフォルトのサイズは 1,1.5 であり、これはデフォルト値の 1.5 倍に拡大縮小されることを意味します。

lty: 線種を指定します。

lwd:線幅を指定します。(デフォルト値の数倍)

col: デフォルトの描画色。例えば、これは col=c("red","blue") で、1本目を赤、2本目を青、3本目を赤で3本の線を引く必要があります。

col.axis 座標軸の色

col.mainヘッダーの色

col.sub 小見出しの色

fgフォアグラウンドビュー

bg 背景色

例: col=1,col="white" col="#FFFFFF" col=rgb(1,1,1) col=hsv(0,1,1) 共に白の場合

また、連続色ベクトルを作成するための様々な関数がRで使用されています。

 レインボー()

heat.colors()

地形.色()

top.colors()

cm.colors()

gray() は、グレースケールの複数のセクションを生成することができます。

attach(mtcars)
opar=par(no.readonly=TRUE)
par(mfrow=c(3,1))
hist(wt)
hist(mpg)
hist(disp)
par(opar)
detach(mtcars)


<イグ

6. テキスト属性

cex: 相対的なデフォルトサイズのスケーリング倍率を示す値。(倍率)

cex.axis: 軸スケール・テキストのスケーリング乗数。

cex.lab: 軸ラベル(名前)のスケーリング乗数。

cex.main: タイトルのスケーリング倍率

cex.sub: サブヘッダーのスケーリング

font: 整数型。1=regular、2=bold、3=italic、4=bold italic、5=symbolic font (adobe エンコーディング)。

font.axis font.lab font.main font.sub

ps パウンドテキストの最終サイズは ps*cex です。

family テキストの描画に使用するフォントファミリです。標準値はserif(セリフ)、sans(サンセリフ)、mono(等幅)である

Windowsでは、関数windowsFont()で新しいマッピングを作成することができます。(Macでは、quartzFont()を使用します)

PDFやPostScript出力形式のグラフィックは、比較的簡単に修正することができます。

PDF は names(pdfFonts()) を使ってシステムで利用できるフォントを調べ、pdf(file="myplot.pdf",family="fontname") でグラフィックスを生成しています。

グラフィックのポストスクリプト出力形式は、names(postscriptFonts())とpostscript(file="myplot.ps",family="fontname")で行うことができます。

7. グラフサイズと枠の大きさ

 ピン:グラフィック寸法(インチ)(幅と高さ

mai: 数値ベクトルによるボーダーのサイズ、インチ単位で "下、左、上、右" の順

mar: 数値ベクトルでの境界の大きさ、"下、左、上、右"の順で、小数単位。Default=c(5,4,4,2)+0.1

8. テキスト、カスタム座標、凡例の追加

attach(mtcars)
opar= par(no.readonly=TRUE)
par(mfrow=c(2,2))
plot(wt,mpg,main="Scatterplot of wt vs. mpg")
plot(wt,disp,main="Scatterplot of wt vs. disp")
hist(wt,main="Boxplot of wt")
boxplot(wt,main="Boxplot of wt")
par(opar)
detach(mtcars)



いくつかの高度なプロット関数は、すでにデフォルトのタイトルとラベルを含んでいます。これらは、plot() 文の中の別の par() 文に ann=FALSE を追加することによって削除することができます。

タイトル

title()関数を使用すると、グラフにタイトルと軸ラベルを追加することができます。

座標軸

side: 座標が描かれるグラフの辺を示す整数(1,2,3,4は下、左、上、右に対応します。)

at: 目盛りが描かれる必要がある場所を示す数値ベクトル

labels: スケールの隣にあるフルテキストテーブルを示す文字ベクトル (NULL の場合、at の値を直接使用します)

pos: 軸の位置の座標

lty: 線の種類

col: 線の目盛りの色

las: ラベルが軸に平行 (=0) か垂直 (=2) かを指定します。

tck: プロットされた領域のサイズに対する割合で表されるスケールの長さ (負の数はグラフの外側に、整数は内側に) )

Hmiscパッケージのminor.tick()関数は、二次目盛りの作成に使用します。

tick.ratioは、主ティックに対する副ティックの大きさの比率を表します。現在の一次ティックの長さは par("tck") で取得することができます。

基準線

abline()関数を使うと、グラフに参照線を入れることができます。 abline(h=yvalues,v=xvalues)

例:abline(v=seq(1,10,2),ty=2,col="blue")。

図の凡例

<スパン 凡例を使う(位置、タイトル、凡例、...) 凡例を追加する

location: xy 値を直接与えることができる; location (1) はマウスクリックによる凡例の位置を与える; キーワード: bottom, bottomleft, left, topleft, toright, right, bottomright, center, また、パラメータ inset= を使って、グラフが移動したい内側のサイズ (プロットサイズに対する割合として表現) を指定します。

title: 凡例のタイトルを表す文字列(オプション)

legend: 凡例ラベルを構成する文字型のベクトル

<スパン

テキストマークアップ

テキスト (位置, "", 位置...)

mtext("", サイド, line=n...)

location: xyの値を直接与えることができる; location (1) はマウスクリックによる凡例の位置を与える

pose: 整数、テキストの相対位置の方向パラメータ。パラメータ offset=,,がオフセットとして指定された場合、一文字の幅に対する比率で表現されます。

side: テキストを配置する側を指定する整数値。

par() はフォントサイズを大きくします。

plotmath() 数式マークアップ

attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE))
hist(wt)
hist(mpg)
hist(disp)
detach(mtcar)



<スパン

attach(mtcars)
layout(matrix(c(1,1,2,3),2,2,byrow=TRUE),widths=c(3,1),heights=c(1,2))
hist(wt)
hist(mpg)
hist(disp)
detach(mtcars)



<スパン グラフィックスに問題があります

グラフィックの組み合わせ

R の関数 par() や layout() を用いると,複数のグラフを一つのグラフに簡単にまとめることができます. par() 関数は,グラフパラメータ mfrow=c(nrows,ncols) を用いて,行が nrows, 列が ncols で埋まるグラフ行列に糸を引きます.また、nfcols=c(nrows,ncols) を使用すると、行列を列で埋めることができます。

library(vcd)
counts=table(Arthritis$Improved)
counts
 barplot(counts,main="Simple Bar Plot",xlab="Improvement",ylab="Frequency")
barplot(counts,main="Horizontal Bar Plot",xlab="Frequency",ylab="Improvement",horiz=TRUE)



counts=table(Arthritis$Improved,Arthritis$Treatment)
counts
        
 # Placebo Treated
 # None 29 13
 # Some 7 7
 # Marked 7 21
barplot(counts,main="Grouped Bar Plot",xlab="Treatment",ylab="Frequency",col=c("red"," yellow","green"),legend=rownames(counts))


 barplot(counts,main="Grouped Bar Plot",xlab="Treatment",ylab="Frequency",col=c("red"," yellow","green"),legend=rownames(counts),beside=TRUE)



layout()関数の呼び出し状況はlayout(mat)であり、matは結合される複数の形状の位置を指定する行列である。

states=data.frame(state.region,state.x77)
means=aggregate(states$Illiteracy,by=list(state.region),FUN=mean)
means
# Group.1 x
#1 Northeast 1.000000
#2 South 1.737500
#3 North Central 0.700000
#4 West 1.023077
means=means[order(means$x),]
means
# Group.1 x
#3 North Central 0.700000
#1 Northeast 1.000000
#4 West 1.023077
#2 South 1.737500
barplot(means$x,names.arg=means$Group.1)
title("Mean Illiteracy Rate")



 次のコードでは、1行目に1つ、2行目に2つの図形が配置されていますが、1行目の高さは2行目の図形の高さの3分の1、右下隅の図形の幅は左下隅の図形の幅の4分の1となっています。

attach(mtcars)
plot(wt,mpg,main="Basic Scatter plot of MPG vs Weight",xlab="Car Weight(1bs/1000)",ylab="Miles Per Gallon ", pch=19)
abline(lm(mpg~wt),col="red",lwd=2,lty=1)
 lines(lowess(wt,mpg),col="blue",lwd=2,lty=2)



 グラフィカルなレイアウトを自在にコントロール

fig=このタスクを完了する

基本グラフィック

棒グラフ

シンプルな棒グラフ

vcd パッケージ

プロットするカテゴリのタイプがFactorまたは順序付きFactorの場合、plot()関数を使用して縦棒グラフを素早く作成することができます。これは、table() 関数を使用せずに行われます。

(これは関節炎研究であり、Improvedという変数には、プラセボや薬を投与された各患者の治療効果が記録されている)

> library(car)
> scatterplot(mpg~wt|cyl,data=mtcars,lwd=2,main="Scatter Plot of MPG vs. Weight by # Cylinders",xlab="Weight of Car(lbs/ 1000)",ylab="Miles Per Gallon",legend.plot=TRUE,id.method="identify",labels=row.names(mtcars),boxplots=" quot;xy")





スタックバーとグループ化されたバー

heightがベクトルではなく行列の場合、結果は積み上げ棒グラフまたはグループ化されたプロボーションチャートになります。 besides=false (default)->stacked or not grouped bar chart

pairs(~mpg+disp+drat+wt,data=mtcars,main="Basic Scatter Plot Matrix")




<イグ


library(car)
scatterplotMatrix(~mpg+disp+drat+wt|cyl,data=mtcars,spread=FALSE,diagonal="histogram",main="Scatter Plot Matrix via car Package")


棒グラフの意味

<スパン 棒グラフは、カウントデータや頻度データに基づいている必要はありません。(平均値、中央値、標準偏差)。

 library(gclus)
mydata=mtcars[c(1,3,5,6)]
mydata.corr=abs(cor(mydata))
mycolors=dmat.color(mydata.corr)
myorder=order.single(mydata.corr)
cpairs(mydata,myorder,panel.colors=mycolors,gap=.5,main="Variables Ordered and Colored by Correlation")




set.seed(1234)
n=10000
c1=matrix(rnorm(n,mean=0,sd=.5),ncol=2)
 c2=matrix(rnorm(n,mean=3,sd=2),ncol=2)
mydata=rbind(c1,c2)
mydata=as.data.frame(mydata)
names(mydata)=c("x","y")
with(mydata,plot(x,y,pch=19,main="Scatter Plot with 10000 Observations"))






中級図面

主に、二変量関係(二項関係)や多変量関係(多距離関係)を示すための作図方法について学びます。

<スパン 散布図

散布図は、2つの連続変数の関係を記述するために使用することができます。
まず、二項変数の関係を記述し、その外側に情報を追加してグラフ表現を強化する方法をいろいろと検討する。
最後に、3つ目の連続変数を追加することで、2次元グラフを3次元に拡張し、3次元散布図やバブルプロットなどを作成します。
with(mydata,smoothScatter(x,y,main="Scatterplot Colored by Smoothed Densities"))
KernSmooth 2.23 loaded
Copyright M. P. Wand 1997-2009




abline()関数はベストフィットの直線、lowess()はスムージングカーブを追加するために使用されます。この平滑化曲線フィットは、局所重み付け多項式回帰に基づくノンパラメトリックな方法です。このアルゴリズムは、Cleveland (1981)に由来するものである。

car パッケージの scatterplot() 関数は、主にフィットカーブ、バウンディングボックスプロット、セントロイド楕円を追加し、サブセットによるプロットやインタラクティブな点の特定によって scatterplot のペアを強化します。
<スパン
library(hexbin)
with(mydata,{
bin=hexbin(x,y,xbins=50)
plot(bin,main="Hexagonal Binning with 10000 Observations")
})









1. scatterplot()関数を使用して、4気筒、6気筒、8気筒の車の重量に対する1ガロンあたりの走行距離のグラフを描きます。
2. mpg~wt|cylという表現は、条件付きでプロットすることを意味し、mpgとwtの関係をcylのレベルに応じて別々にプロットすることを意味する。
3. デフォルトでは、各サブセットは色とグラフ記号で区別され、線形フィットとスムースフィットの両方の曲線がプロットされます。平滑化フィットは、デフォルトで5つの別々のデータポイントを必要とします。
4. idmethodオプションは、マウスクリックによってデータポイントをインタラクティブに識別できることを示すために設定されています。停止を知る(スタジオ内でESC)
5. legend.plot は、左上のボーダーに地球が追加されることを示します。

散布図マトリックス

Rには、散布図行列を作成するためのユーティリティ関数が少なくとも4つあります。
pairs()関数は、ベースとなる散布図行列を作成します。 
library(scatterplot3d)
attach(mtcars)
scatterplot3d(wt,disp,mpg,pch=16,highlight.3d=TRUE,type="h",main="Basic 3D Scatter Plot")




fit=lm(mpg~wt+disp)
s3d$plane3d(fit)






<スパン パラメータを調整することで、グラフの下三角形または上三角形のみを表示することができます。
upper.panel=NULL Crowd Cityの下三角形のグラフィックを表示します。

scatterplotMatrix(~mpg+disp+drat+wt,data=mtcars,spread=FALSE,lty.smooth=2,main="Scatter Plot Matrix via car Pachage")散布図。
ここでity.smooth=2 滑らかなフィットカーブを破線に設定したかったのですが、ty.smoothはグラフィックパラメータではないので、エラーは解決されていません。しかし、lty=2の場合、フィットした線を破線に設定する。


attach(mtcars)
r=sqrt(disp/pi)
symbols(wt,mpg,circle=r,inches=0.30,fg="white",bg="lightblue",main="Bubble Plot with point size proportional to displacement",ylab="Miles Per Gallon",xlab="Weight of Car(lbs/1000)")
text(wt,mpg,rownames(mtcars),cex=0.6)
detach(mtcars)




<スパン

ここでは、主対角線和密度曲線をヒストグラムに変更したい(各車両のシリンダー数による条件付き)。
デフォルトでは、回帰線はサンプル全体にフィットし、by.groups=TRUEでうまく折り返されます。




gclus パッケージの cpairs() 関数はその変種を提供します。これは,行列内の変数の位置に関するオプションを並べ替えることができ,より良い相関を持つ変数を対角線に近づけることができます.また、この関数は、変数間の相関の大きさを示すために、個々のセルを色分けすることができます。
cor(mtcars[c("mpg","wt","disp","drat"))])
            mpg wt disp drat
mpg 1.0000000 -0.8676594 -0.8475514 0.6811719
wt   <スパン -0.8676594
    1.0000000 0.8879799 -0.7124406
ディスプレー -0.8475514     <スパン 0.8879799     1.0000000 -0.7102139
ドレッド   <スパン 0.6811719    -0.7124406 -0.7102139 1.0000000
dmat.color() order.single() cpairs() 関数は、gclus パッケージのものです。

最初のステップでは、必要な変数を選択し、それらの相関係数の絶対値を計算します。
第二段階では、dmat.color()を使って、プロットの色を取得します。対称行列が与えられると、dmat.color() はカラー行列を返します。
3つ目のステップはソートです。order.single() により、散布図行列は新しい変数 order (myorder) と color list (mycolor) のプロットに従って色付けされ、ギャップにより行列のセル間の間隔がわずかに大きくなっています。

library(corrgram)
corrgram(mtcars,order=TRUE,lower.panel=panel.shade,upper.panel=panel.pie,text.panel=panel.txt,main="Correlogram of mtcars intercorrelations")





corrgram(mtcars,order=TRUE,lower.panel=panel.ellipse,upper.panel=panel.pts,text.panel=panel.txt,diag.panel=panel.minmax,main=" ;Correlogram of mtcars data using scatter plots and ellipses")

<イグ
<スパン
上記に対してデータポイントが重なっているため、xyの関係を特定することは非常に困難です。よく知られたパスの1点における重なり合う点の数は、エンベロープ、色、透明度などで使用することができる。
<スパン smoothScatter()関数は、カーネル密度推定を使用して、店舗分布の散布図を色密度で主張することができます。

<イグ

hexbin パッケージの hexbin() 関数は、二項変数のエンベロープを六角形のセルに入れます(名前よりグラフの方が直感的です)。

corrgram(mtcars,lower.panel=panel.shade,upper.panel=NULL,text.panel=panel.txt,main="Car Mileage Data(unsorted)")








IDPmiscパッケージのiplot()関数では、ストアの密度(ある地点のデータ数)を色で表示することもできます。


with(mydata,iplot(x,y,main="Image Scatter Plot with Color Indicating Density")))



三次元散布図

scatterplot3dのscatterplot3d()関数を使用すると、それらの関係をプロットすることができます。
library(scatterplot3d)
attach(mtcars)
scatterplot3d(wt,disp,mpg,pch=16,highlight.3d=TRUE,type="h",main="Basic 3D Scatter Plot")

<イグ

fit=lm(mpg~wt+disp)
s3d$plane3d(fit)



バブルチャート

まず2次元の散布図を作成し、ポイントの大きさが3番目の変数の値を表します。
sysbols(x,y,circle=radius)
インチはスケールファクターで、円の大きさを制御します(ただ、デフォルトでは円の大きさは最大1インチです) text()関数はオプションで、各車の名前を追加します。
一般に統計熱源では、長さとは対照的に、人々は体積や面積の判断に苦労するため、バブルダイアグラムの使用を避ける傾向にある。しかし、ビジネスアプリケーションでは非常に人気があります。
attach(mtcars)
r=sqrt(disp/pi)
symbols(wt,mpg,circle=r,inches=0.30,fg="white",bg="lightblue",main="Bubble Plot with point size proportional to displacement",ylab="Miles Per Gallon",xlab="Weight of Car(lbs/1000)")
text(wt,mpg,rownames(mtcars),cex=0.6)
detach(mtcars)




折线图

関連グラフ

相関係数行列は、多変量統計解析の基本的な手法である。
検査対象のどの変数が他の変数と強い相関を持ち、どの変数がそうでないのか?
相関のある変数が特定の方法でクラスタリングされているか?
変数の数が増えれば増えるほど、この種の質問に答えるのは難しくなる。

オプション(digit=2)
> cor(mtcars)
       mpg cyl disp hp drat wt qsec vs am
mpg 1.00 -0.85 -0.78 0.681 -0.87 0.419 0.66 0.600
シリンダー -0.85 1.00 0.90 0.83 -0.700 0.78 -0.591 -0.81 -0.523
ディスプ -0.85 0.90 1.00 0.79 -0.710 0.89 -0.434 -0.71 -0.591
HP -0.78 0.83 0.79 1.00 -0.449 0.66 -0.708 -0.72 -0.243
DRAT 0.68 -0.70 -0.71 -0.45 1.000 -0.71 0.091 0.44 0.713
WT -0.87 0.78 0.89 0.66 -0.712 1.00 -0.175 -0.55 -0.692
qsec 0.42 -0.59 -0.43 -0.71 0.091 -0.17 1.000 0.74 -0.230
vs 0.66 -0.81 -0.71 -0.72 0.440 -0.55 0.745 1.00 0.168
AM 0.60 -0.52 -0.59 -0.24 0.713 -0.69 -0.230 0.17 1.000
ギア 0.48 -0.49 -0.56 -0.13 0.700 -0.58 -0.213 0.21 0.794
キャブ -0.55 0.53 0.39 0.75 -0.091 0.43 -0.656 -0.57 0.058
      ギアキャブ
mpg 0.48 -0.551
シリンダー -0.49 0.527
ディスプ -0.56 0.395
HP -0.13 0.750
ドラム缶 0.70 -0.091
WT -0.58 0.428
qsec -0.21 -0.656
vs 0.21 -0.570
am 0.79 0.058
ギア 1.00 0.274
キャブ 0.27 1.000

ここでは、corrgram パッケージの corrgram() 関数が使用されています。
下の三角形のセルに
デフォルトの青色と左下から右上へのスラッシュは、セル内の2つの変数が正の相関を持つことを示します。逆に、赤色で左上から右下へのスラッシュは、負の相関があることを示す。
色が濃く、彩度が高いほど、変化の相関が高い。
相関が0に近いセルは基本的に識別されます。
上の三角形のセルで
色の機能は上記と同じですが、相関の大きさは塗りつぶされる円グラフのブロックの大きさで示されます。イナーシャを争うと円グラフは12時方向から時計回りに塗りつぶされ、負の相関を持つと円グラフは反時計回りに塗りつぶされます。
order=TRUEを指定すると、相関行列はPCA分析により変数を並べ替えます。
lower.panel upper.panel ; panel.pie(pie chart)/panel.shade(shadow depth)/panel.ellipse(confidence ellipse)/panel.pts( フィットカーブのスムージング )
text.panelとdiag.panelはメインとなる斜めの要素の種類を制御します。 panel.minmax (出力最大最小)/panel.txt

library(corrgram)
corrgram(mtcars,order=TRUE,lower.panel=panel.shade,upper.panel=panel.pie,text.panel=panel.txt,main="Correlogram of mtcars intercorrelations")



corrgram(mtcars,order=TRUE,lower.panel=panel.ellipse,upper.panel=panel.pts,text.panel=panel.txt,diag.panel=panel.minmax,main=" ;Correlogram of mtcars data using scatter plots and ellipses")




corrgram(mtcars,lower.panel=panel.shade,upper.panel=NULL,text.panel=panel.txt,main="Car Mileage Data(unsorted)")



<スパン モザイクチャート


再掲載元:http://blog.csdn.net/disappearedgod/article/details/8681312