2015年3月14日土曜日

つまずかないR言語入門(グラフの修飾)

前回エントリーで、長野県須坂市のオープンデータから商業において、従業員の数は増えていないのに 売上が伸びているのが判り、グラフ化した。

そのグラフがあまりに貧弱で、人前に出せるものではないので、今回は各種コマンドで
他人がみて、納得できるグラフ作りを試みる。

例によって、

> x<-read.table("08.csv",sep=",",header=TRUE,row.names=1)

で、変数Xを呼び出す。

つぎにグラフ化するに、前回は

> barplot((x$sales)/(x$employee))として

次のグラフを作成した。


今回は、タイトルと、棒グラフの色そして横軸に「年」を表記して、
見やすいグラフにしてみる。

> barplot((x$sales)/(x$employee),main="uriage/man",names.arg=c("51","54","57","60","63","3","6","9","11","14","16","19"),col=c("orange"))

ここで、main=""uriage"はグラフのタイトルを表記するので、重要!
name.arg=c("51","54"......)は、X軸の項目を示し、ここでは昭和、平成が混在しているが、
須坂市表記通りの「年」を示している。
colは棒グラフ色を指示している。
colorとすると、システム側に怒られるので注意が必要。
col=c("orange")としているが、もちろん他に色指定も可能なので、調べて欲しい。
また、ここではorange単色であるが、棒ごとに色を帰ることも可能であるが、
面倒なことは面倒です。

本日はここまでです。

----------------------
スマートテクノロジーネットワークのホームページはこちら
----------------------

2015年3月13日金曜日

つまずかないR言語入門(オープンデータから読み取れること)

長野県須坂市の商業データをなんとか取り込んだ。

> x<-read.table("08.csv",sep=",",header=TRUE,row.names=1)
と打ち込み、
> x
とすれば、


となる。
売上高と従業員数に注目すると、従業員の数は大きく変化していないが、
売上高が、昭和51年と、平成19年では2倍以上に拡大しているのが判る。
変数xの売上高(sales)と同じく変数xの従業員数(employee)を各年度で割ってみると
数字で示すことができる。

> (x$sales)/(x$employee)

すると、
[1] 879.7255   1184.1150   1481.9854   1946.4864   1928.9300   2494.5890   2199.9728
[8] 2566.8377   1985.2440   1798.8853   1895.1024   2174.6851

ということで、一人あたり売上高が大きく向上していることが数字で裏付けられた。
さらにこれを、グラフ化してみよう。

こういった年度毎の変化には、棒グラフが適切かと思う。
そこで、棒グラフを示すコマンド、barplotを使い、

> barplot((x$sakes)/(x$employee))
とすると、


と、右肩上がりに一人当たり売上高の遷移が確認できる。

グラフとしての見栄えは、とても人前に出せるものではないので、
その当たりの修飾方法は次回エントリーで示します。

追記)つまずかないR言語などと大見栄をはったものの、自分を含め
つまずきそうなところを、明記していなかったので、以前のエントリーで
補記として、陥りそうな落とし穴について、追記していこうと思ってます。

----------------------
スマートテクノロジーネットワークのホームページはこちら
----------------------

2015年3月11日水曜日

つまずかないR言語入門(オープンデータの活用)

前回のエントリーで、長野県須坂市の商業データを例として、
マーケティング利用を考えてみようとした。
ここで、一つ落とし穴がありました。
市の作成したエクセルデータの数値は、利用者の視認性を
考えて、3桁単位で","(カンマ)が入っているのです。

単純にCSVで落としても、カンマは生きているので、
R側で、sep=","として項目の区切りをカンマと明示
しても、データ中にカンマがあるので、正しく分析でき
ないことが判明。CSVファイルの数値を、3桁カンマ区切り
なしにして、読み込むことにした。
このあたりは、EXCELのバージョンだったり、Openofficeや
Libreofficeで、少し異なるようなので、深くは触れません。

前回同様、
>x<-read.table("08.csv",sep=",",header=TRUE,row.names=1)
として、
>x
で表示。
>plot(x)
として、各項目の相関関係を確認しましょう。

商店数(shoten)と売り場面積(area)に負の相関関係が見えるとか、
なぜか判りませんがその他の収入額(income)と商品手持ち額(zaiko)に正の相関関係が
見て取れるなど、その後の突っ込んだ分析の概要が読み取れると思います。
詳細な分析と、時系列の分析は次回以降で試行します。

----------------------
スマートテクノロジーネットワークのホームページはこちら
----------------------

2015年3月10日火曜日

つまずかないR言語入門(オープンデータファイルの読込)

前回までは、電卓的使い方と、Rに付属するデータの利用を理解してきた。

実務的には、外部ファイル(たとえばマイクロソフトの
officeやLINUX系ならLibreofficeか)の表計算ソフトや
CSVファイルを使うケースが圧倒的に多いと考えられる。
そこで、今日は自治体が公開しているオープンデータを
取り込んで、すこし加工したのり、分析してみる。

ここでは、長野県須坂市のオープンデータサイト から、
商業に関するデータを取り込んでみた。
ちなみに、同市のオープンデータはクリエイティブコモンズの


となっているので、2次利用させていただきます。

該当のアイコンをクリックすると、開くか保存するか
聞いてくるので、とりあえず開き、CSVファイル"08.csv"として
保存します。
保存先は以前説明した、Rの作業フォルダーにするのが
スムーズかと思います。
実は、ここで自分自身の漢字環境とカラムがnullの処理に 実力不足が露呈しまして、タイトルを英語表記、nullを0(ゼロ) と置き換えていることをご了解ください。

Rを開き

>x<-read.table("08.csv",sep=",",header=TRUE,row.names=1)

として >x と打ち込むと こんな画面が展開されるはずです。

ここからは、
これらをマーケティング的にどうみるか。
次回のエントリーで書きます。

(補遺) ファイルの読み込みには、数種類のパターンがあるが、
基本は、今回使った
>x<-read.table("file.name",header=TRUE,row.names=1)
となると思う。

読み込むデータは、多くはcsvかtxtと思われる。
read.csvは、read.tableを使って、項目の区切り(sepatator)をsep=",",
read.txtは同じくsep="\t"とすることで、同等の意味を持たすことができる。
txtのセパレータは、使っているOSやキーボードの違いで、表記がことなるので、 "\t"であったり\であったりするので、注意していただきたい。

ちなみに、今回の例題を使って見ると

>x<-read.csv("08.csv,header=TRUE,row.names=1)であったり、

>x<-read.txt("08.txt",header=TRUE,sep="\t",row,names=1)

と同等の機能をもつはずである。

----------------------
スマートテクノロジーネットワークのホームページはこちら
----------------------

2015年3月8日日曜日

つまずかないR言語入門(相関係数、単回帰分析)

改めて、回帰分析を考えてみると、例えば身長と体重のように
関係性があるような2つの変量があるとき、一方の数値が
与えられたとき、もう一方の数値を予測するようなケースが
考えられます。
前回の例でいえば、スピードをあげていた車が慌ててブレーキを
かけた時の停止距離と、ゆっくり走っていた車が同様にブレーキを
かけた場合の制動距離は、相関関係がありそうだというのは、
直感的に理解できます。
ちなみに、

>cor(cars)

とすると、speedとdistの相関係数は、0.8068949
となり、
目安として、1.0≧相関係数絶対値≧0.7
にあれば、高い相関関係があるといわれているので、想像通りの
結果とも言える。
マーケティング的にいえば、宣伝費と売上の関係(?)とか
商圏の人口と売上高などの例が挙げられます。
ここで、予測したい変数を目的変数、目的変数を説明する変数を
説明変数と呼びます。
自動車の例でいえば、制動距離が目的変数、スピードが説明変数
ということになりますかね。
この直線を使えば、測定できなかったスピードでも、およその
制動距離が推測できる。という利点があります。

とくに説明変数が一つのときは、単回帰分析と言い、前回の直線が
それを示しています。

ちなみに説明変数が2つ以上の場合を重回帰分析と言います。


----------------------
スマートテクノロジーネットワークのホームページはこちら
----------------------

2015年3月6日金曜日

つまずかないR言語入門(単回帰)

前回同様、「cars」を使う。

>cars
と入力して、carsのデータを入手する。

head(cars)とキーボードを叩けば

speeddist
142
2410
374
4722
5816
6910

となる。 繰り返しになるが、このデータはクラシックカーの時代の
自動車のスピードと停止距離を測定したもので、
その相関関係をみるために散布図を作るには、
> plot(dist~speed,cars)
と入力します。

これで、スピードが出ていると、制動距離も延びるのだということが 直感的に把握できます。 さらに
> abline(lm(dist~speed,data=cars))
とすることで、

となり、単回帰線を引くことができます。
----------------------
スマートテクノロジーネットワークのホームページはこちら
----------------------

2015年3月5日木曜日

つまずかないR言語入門(ヒストグラム)

さて、ヒストグラムだ。
外見上は、棒グラフに似ているが、同じではない。
分布を可視化したものと考えれば良いのかもしれない。
試みに、Rに付属しているデータに「cars」というのがあるので、
こいつでヒストグラムを作成してみる。

(ちなみにであるが、carsは1920年代の自動車のスピードと
その制動距離をデータ化したものだそうです。
原文:The data give the speed of cars and the distances taken to stop.
Note that the data were recorded in the 1920s. )

>hist(cars$dist)
と、キーボードから入力すると、横軸に停止までの距離、縦軸にその頻度が表示される。

顧客の購買金額や、年齢分布など、属性を把握するには有効な手法と思う。
----------------------
スマートテクノロジーネットワークのホームページはこちら
----------------------