早速、散布図を作成しよう
早速、散布図を作成してみましょう。
plot(sample$純広告,sample$CV_純広告)
plot(1,2)
1が横軸、2が縦軸に対応します(ちなみに横軸に原因を、縦軸に結果をとることが多いです)。
【注】相関係数が+1であれば右肩上がりの直線に、-1であれば右肩下がりの直線となります。
んーちょっと…昭和的ですね。平日と週末の区別を色分けしてみましょう!早速第3回で行った曜日情報の追加をしましょう。再掲します。
youbi1 <- weekdays(as.Date(sample$DATE))
youbi2=as.POSIXlt(sample$DATE)$wday
youbi2 <- ifelse(youbi2==0, 7, youbi2)
youbi=paste(youbi2,youbi1)
sample3<-transform(sample,youbi=youbi)
後ほど使用するので曜日ごとに割り当てた数値データを追加しておきます(1=月曜日、2=火曜日、3=水曜日、4=木曜日、5=金曜日、6=土曜日、7=日曜日)。
sample3<-transform(sample3,youbi_num=youbi2)
続いて、平日と週末で色分けしたグラフを描きましょう。
plot(sample3[,2],sample3[,4],pch=21,xlab="純広告",ylab="純広告CV",bg=c(5,5,5,5,5,2,2)[unclass(sample3$youbi)])
やや複雑ですので丁寧に解説します。
pch=21
散布図の中のマーカーの種類を表します。着色したい時で丸を使うときは21を指定します。
xlab="純広告",ylab="純広告CV"
xlabは横軸のラベルを、ylabは縦軸のラベルを設定します。
bg=c(5,5,5,5,5,2,2)
散布図内の丸印を2色(水色, 水色, 水色, 水色, 水色, 赤色, 赤色)にすることを、塗る色の順番はyoubiに従うことを表しています。
[unclass(sample3$youbi)]
前回確認したようにsampleデータは月曜スタートとなっていました。つまり、月=水色、火=水色、水=水色、木=水色、金=水色、土=赤色、日=赤色となっています。曜日別に色を変更したい場合は、下記のようにすることで対応できます。
bg=c(1,2,3,4,5,6,7)
ちょっとゴチャゴチャした表示になりますね。やり過ぎ感が。。。
さて、ここからいよいよインストールしたパッケージを使っていきます! 現在の変数名を確認しましょう。
names(sample3)
変数名を変更します。
names(sample3)<-c("Date","Jyunkou","Listing","CV_Jyunkou","CV_Listing","Youbi","Youbi_num")
変更後の変数名を確認します。
names(sample3)
さて、散布図を書いてみましょう!
p<-ggplot(sample3,aes(x=Jyunkou,y=CV_Jyunkou))
p+geom_point()
う~む、なかなかに綺麗じゃないですか!
ggplot(1,aes(x=2,y=3))
1で使用するデータ、2で横軸の変数、3で縦軸の変数をそれぞれ指定しています。2行目のgeom_point()はグラフの種類を指定しています。曜日別に色分けしてみましょう。
p<-ggplot(sample3,aes(x=Jyunkou,y=CV_Jyunkou))
p+ geom_point(aes(colour=Youbi))
plotでも確認したとおり曜日別だとちょっとゴチャゴチャしてますね。平日/週末をWeekEndという変数に格納して使ってみましょう!
sample3$WeekEnd <- ifelse(sample3$Youbi_num>5, "週末","平日")
p<-ggplot(sample3,aes(x=Jyunkou,y=CV_Jyunkou))
p+ geom_point(aes(colour=WeekEnd))
かなり見やすくなりましたね。おまけで、近似曲線を追加してみます。
p<-ggplot(sample3,aes(x=Jyunkou,y=CV_Jyunkou))
p+ geom_point(aes(colour=WeekEnd))+geom_smooth(method = "lm")
それとなく右上がりの直線になっていますね。純広告のインプレッションを出すとCV数が増加する傾向が見て取れます。
続いて、平日/週末で近似曲線を分けてみましょう。
p<-ggplot(sample3,aes(x=Jyunkou,y=CV_Jyunkou,col=WeekEnd))
p+ geom_point()+geom_smooth(method = "lm")
平日は純広告のインプレッションを出してもCV数の増加には結びついておらず、週末はなんとなく右肩上がりに見えます。ただ、週末の右端の点がなくなってしまうと右肩上がりになるかどうか……ちょっと危うそうです。
これまでは一つのグラフを見ていましたが、扱う変数の数が多くなってくると1つ1つグラフを作成していては、就業時間内に業務を終えるのがピンチになってしまいます。
見せてもらおうか、相関係数行列/散布図行列の実力とやらを!! という訳で、楽チンに多くの相関係数と散布図を確認する方法を見ていきましょう!!
簡単! 2015年2月10日「3つ」覚えて分析から視覚化まで即実践!Rでできるデータ分析講座開催
Rをインストールしたが、無骨なUIに「今日はこのへんで……」と、そっと閉じてしまった方にオススメです!
本講座では実機を使って「できるだけわかりやすく」グラフ化&データ分析をワークショップ形式で簡単に身に付けることができます。
