goo blog サービス終了のお知らせ 

インターネット巡回生活

ほぼほぼ、書きなぐり雑記かも

社会人のためのデータサイエンス演習を Rで

2016-05-17 | 統計環境R
 まあ、なんと申しますかひと昔前だったら退職している年齢になってきてますので、お金の代わりに平日の時間にゆとりが生まれつつあります。
 ということで、お金のかからないアフターファイブなるものを追及しようとする今日この頃です。

 最近は、インターネットでいろいろな勉強ができるいわゆるOPENな教育環境が整ってまいりました。私が最近受講を始めましたのは、gaccoというサイトの「ga063 社会人のためのデータサイエンス演習」です。

 この授業では、EXCELのデータ分析アドイン機能なんかをベースに課題を解いていくのですが、EXCELベースの分析作業というのは、GUIで試行錯誤していくうちにドロドロになってしまうどうも後味の悪い印象が強くて、Rの方がそういう意味ではスクリプトベースで再現性が保証されていて筋の良さを感じています。じゃあRで分析してみたらどんなもんやいということをやってみたわけです。

 ちなみにRの操作能力は、業務等でバリバリ使っているわけでもありませんので、あくまで初学者プラスアルファ位という状況ですから、自分自身の備忘録という役割以上のものではありません。初学者が陥る前に進めないポイントについては、多少は役に立つことを書いているかもしれませんが、もしかすると、恐ろしく筋の悪い解決策を提示しているのかもしれません。
 非難・苦情・助言のたぐいは、コメントなり、メールなりで教えていただければ幸いです。

受講しないと(無料です)データとか取得できないし、課題の問題もわからないので、全然意味の分からない感じもいたしますけど、「わかるやつだけわかればいいという」心で書いています。



week2分です。データは週ごとに別のフォルダに置いてあることとします。例えばweek2は、
D:\gacoo\data_sience\week2
というフォルダです。
------------------------------------------------------------------------------------------------------------

setwd("D:/gacco/data_sience/week2")
#数値の表示桁数を12ケタに


options(digits=12)

## read.csv で1行目が見出し情報の場合、head=T とする。
## 数値が文字列で入ってくるので、文字列をファクター型にしないようにして
## まず読み込む。
d02 <- read.csv ("dummydata_A.csv",head=T,stringsAsFactors=F)
#数値フィールドのカンマを取る
d02a <-sapply(d02[,c(10:21)],function(f) as.numeric(gsub(",","",f)))
#ファクター化したい項目だけ、変換する。
d02b <-sapply(d02[,c(2:8)],function(f) as.factor(f))
##一つのデータフレームに結合
d02c <- data.frame(d02[,1],d02b,d02[,9],d02a,stringsAsFactors=F)
#ヘダーの先頭が数値だったり、カッコが入っていると、きたない列名になるので
## 抜き出して編集してみる。
(d02c.name <- colnames(d02c))
#面倒なので、手で直したものを入れる
colnames(d02c) <- c("id","3大都市圏か否か","世帯人員","就業人員"
,"住居の所有関係","就業.非就業の別","年齢階級5歳階級","年齢階級65歳未満か否か"
,"集計用乗率","年間収入","消費支出額_合計","食費","住居費","光熱水道費"
,"家具家事用品費","被服及び履物費","保健医療費","交通通信費","教育費","教養娯楽費"
,"その他の消費支出")

#d02c の構造
str(d02c)

##
##問題2-1 利用データdummydata_A.xlsx 消費支出のうち、食費の平均値、分散、標準偏差の
## 組み合わせとして正しいものを、次の (1)~(4)のうちから1つ選びなさい。
##
## 不偏分散というのは(n-1)で除(÷)したもの、標本分散は(n)で除したもの。
## この問題は前者で解答
##
mean(d02c$食費)
var(d02c$食費)
sd(d02c$食費)

##問題2-2 利用データ ummydata_A.xlsx 階級間隔を10,000円として食費の度数分布表を
## 作成した時、20,001~30,000円以下の階級の度数として正しいものを選びなさい。

## subsetでdata.frameから該当レコードを抜き出して、レコード数を表示
d02d <- subset(d02c, ( 食費 >= 20001 & 食費 <= 30000 ))
nrow(d02d)

##問題2-3 階級間隔を10,000円とした食費のヒストグラムとして、最も近いものを選びなさい。

## 度数分布表をつくる
bunpu <-table(cut(d02c$食費,
    breaks = c(seq(0, to = 200000,by = 10000),max(d02c$食費))
   ,dig.lab=10,include.lowest = T))
bunpu

#階級間隔を10,000円とした食費のヒストグラム
plot(bunpu)
## 線じゃ嫌なら
barplot(bunpu)
##ざっくりヒストグラムを描くなら
hist(d02c$食費,breaks=20)


#問題2-5 (3/3 点) 「その他の消費支出」を除く消費支出の中で最もばらつきの大きい項目を、
#  次の(1)?(4)のうちから?つ選びなさい。(ばらつきの指標は標準偏差とする)
sd(d02c$食費)
sd(d02c$住居費)
sd(d02c$保健医療費)
sd(d02c$交通通信費)
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« クラメールの独立係数 | トップ | 社会人のためのデータサイエ... »
最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。

統計環境R」カテゴリの最新記事