20140625 rでのデータ分析(仮) for_tokyor

71
Rでのデータ分析(仮) 2014-06-25

Upload: takashi-kitano

Post on 23-Jan-2018

1.487 views

Category:

Data & Analytics


0 download

TRANSCRIPT

Page 1: 20140625 rでのデータ分析(仮) for_tokyor

Rでのデータ分析(仮) 2014-06-25

Page 2: 20140625 rでのデータ分析(仮) for_tokyor

> summary(kitano) Name: Takashi Kitano Twitter: @kashitan R History: 2年6ヶ月

Page 3: 20140625 rでのデータ分析(仮) for_tokyor

夏ですね

Page 4: 20140625 rでのデータ分析(仮) for_tokyor

夏といえば

Page 5: 20140625 rでのデータ分析(仮) for_tokyor
Page 6: 20140625 rでのデータ分析(仮) for_tokyor

ご存知ですか? 統計学とビールの深い関係

Page 7: 20140625 rでのデータ分析(仮) for_tokyor

おむつとビール •  データマイニングで最も有名な例 「おむつを買った人はビールを買う傾向がある」という米国におけるマーケットバスケット分析の事例。1990年代半ばから2000年代初めにかけてメディアや講演などでよく語られ、データマイニングという言葉と概念を一躍有名にした。

情報マネジメント用語辞典:おむつとビール(おむつとびーる)より

Page 8: 20140625 rでのデータ分析(仮) for_tokyor

スチューデントのt分布 •  仮説検定などで使用されるt分布はギネスビール社の醸造技術者ウィリアム・ゴセットが発見

ギネスビール社では企業秘密の問題で社員が論文を出すことを禁止していたので、ゴセットはStudent(「スチューデント」)というペンネームで論文を発表した。この彼の最も有名な業績はスチューデントのt分布と呼ばれる。

ウィリアム・ゴセット - Wikipediaより

ウィリアム・ゴセット

Page 9: 20140625 rでのデータ分析(仮) for_tokyor

ビールなしでは 分析は語れない

Page 10: 20140625 rでのデータ分析(仮) for_tokyor

Rでのデータ分析(仮)   でのビール分析

2014-06-25

Page 11: 20140625 rでのデータ分析(仮) for_tokyor

アジェンダ 1.  データの準備・確認・加工 - 前処理 2.  エネルギー(kcal)を推定する - 重回帰分析 3.  カテゴリを判別する - 決定木

※ 今回Rによるデータ操作などについてはあまり触れません Appendixを参照ください

Page 12: 20140625 rでのデータ分析(仮) for_tokyor
Page 13: 20140625 rでのデータ分析(仮) for_tokyor

  ? なにそれ? おいしいの?

自主規制

Page 14: 20140625 rでのデータ分析(仮) for_tokyor

R is a free software environment for statistical computing and graphics.

http://www.r-project.orgより

Rは統計処理とグラフ描画のための無償 のソフトウェア環境です。

Page 15: 20140625 rでのデータ分析(仮) for_tokyor

A3 abc abcdeFBA ABCExtremes ABCoptim ABCp2 abctools abd abf2 abind abn abundant accelerometry AcceptanceSampling ACCLMA accrual accrued ACD Ace acepack acer aCGH.Spline acm4r ACNE acopula aCRM acs acss acss.data ACTCD Actigraphy actuar ActuDistns ada adabag adagio AdapEnetClass AdaptFit AdaptFitOS AdaptiveSparsity adaptivetau adaptMCMC adaptsmoFMRI adaptTest additivityTests ade4 ade4TkGUI adegenet adehabitat adehabitatHR adehabitatHS adehabitatLT adehabitatMA adephylo AdequacyModel ADGofTest adhoc adimpro adlift ADM3 AdMit ads aemo AER afex AFLPsim aftgee AGD agop agRee Agreement agricolae agridat agrmt AGSDest ahaz AICcmodavg AID aidar AIM akima akmeans alabama ALDqr aLFQ AlgDesign algstat ALKr allan allanvar allelematch AlleleRetain allelic AllPossibleSpellings alm alphahull alphashape3d alr3 alr4 ALS ALSCPC amap AMAP.Seq amei Amelia amen AmericanCallOpt AMGET aml AMOEBA AMORE AmpliconDuo anacor anaglyph analogue AnalyzeFMRI anametrix anapuce AncestryMapper anchors AnDE andrews anesrake Animal animalTrack animation AnnotLists anoint anominate ant AnthropMMD Anthropometry antitrust AntWeb aod aods3 AOfamilies aoristic apcluster ape aplpack apmsWAPP appell apple AppliedPredictiveModeling approximator aprof APSIMBatch apsimr apsrtable apt apTreeshape aqfig aqp aqr AquaEnv AR1seg ARAMIS archetypes ArDec arf3DS4 arfima argosfilter argparse argparser arm arnie aroma.affymetrix aroma.apd aroma.cn aroma.core ARPobservation aRpsDCA ArrayBin arrayhelpers ars ARTIVA ARTP arules arulesNBMiner arulesSequences arulesViz asbio ascii ascrda asd ash aspace aspect assertive assertthat AssetPricing AssotesteR aster aster2 astro astroFns astsa asympTest asypow AtelieR ATmet AtmRay attfad AUC AUCRF audio audiolyzR audit autoencoder automap autopls AutoSEARCH avgrankoverlap aws awsMethods AWS.tools aylmer B2Z b6e6rl babel BaBooN BACCO backtest BACprior BAEssd bagRboostR BalancedSampling BaM bamdit BAMMtools bams bandit barcode bark Barnard bartMachine BAS BaSAR base64 base64enc baseline basicspace BASIX BaSTA batade batch BatchExperiments BatchJobs batchmeans BayesBridge bayesclust BayesComm bayescount BayesCR BayesDA bayesDem BayesFactor bayesGARCH bayesGDS BayesGESM Bayesianbetareg BayesLCA bayesLife BayesLogit bayesm bayesMCClust BayesMed bayesmix BayesNI BayesPen bayesPop bayespref bayesQR BayesQTLBIC bayess BayesSAE BayesSingleSub bayesSurv bayesTFR Bayesthresh BayesValidate BayesVarSel BayesX BayesXsrc BayHap BayHaz BaylorEdPsych BaySIC BAYSTAR BB bbefkr bbemkr BBmisc bbmle BBMM bbo BBRecapture bc3net BCA BCBCSF BCDating BCE BCEA BCEs0 Bchron Bclim bclust bcool bcp bcpa bcpmeta bcrm bcv bda BDgraph bdoc bdpv bdsmatrix bdvis bdynsys beadarrayFilter beadarrayMSV beanplot bear BEDASSLE beeswarm benchden benchmark Benchmarking benford.analysis BenfordTests bentcableAR BEQI2 ber Bergm BerlinData berryFunctions Bessel BEST bestglm betafam betapart betaper betareg betategarch bethel bezier bfa bfast bfp bgeva BGLR bgmm BGPhazard BGSIMD BH Bhat BHH2 biasbetareg BiasedUrn bibtex biclust BiDimRegression bifactorial bigalgebra biganalytics bigdata bigGP biglars biglm bigmemory bigmemory.sri bigml bigpca bigrf bigRR bigsplines bigtabulate BigTSP bilan bild bimetallic binda bindata bingat binGroup binhf binMto BinNor binom binomialcftp binomlogit binomSamSize binomTools binseqtest Biodem BiodiversityR BioGeoBEARS Biograph bio.infer biom BioMark BiomarkeR biomod2 bionetdata biopara BioPhysConnectoR bioPN biOps biOpsGUI bios2mds BioStatR biotools bipartite biplotbootGUI BiplotGUI BIPOD birdring bisectr BiSEp bisoreg bit bit64 bitops bivarRIpower biwavelet biwt bizdays BlakerCI Blaunet BLCOP blender blighty blkergm blm blme blockcluster blockmatrix BlockMessage blockmodeling blockrand blockTools blowtorch BLR BMA BMAmevt bmd bmem BMhyd Bmix bmk bmmix BMN bmp bmrm BMS bnlearn BNPdensity bnpmr boa BOG boilerpipeR bold Bolstad Bolstad2 BoolNet Boom boostr boostSeq boot bootES bootfs bootLR BootPR bootRes bootruin bootspecdens bootStepAIC bootstrap Boruta boss BoSSA boussinesq boxplotdbl bpca bpcp bPeaks bpkde bqtl BradleyTerry2 BrailleR brainR brainwaver branchLars breakage breakpoint bReeze brew brglm bride brnn Brobdingnag broman Brq BRugs BSagri BSDA bshazard BsMD bspec bspmma BSquare BSSasymp bst bstats BTYD bujar BurStFin BurStMisc bursts bvenn bvls bvpSolve BVS c060 c3net C50 ca cabootcrs cacher cacheSweave cacIRT CaDENCE CADFtest cAIC4 Cairo cairoDevice CALIBERrfimpute calibrate calibrator CALINE3 calmate CAMAN camel cancerTiming candisc cape caper capm capme capushe capwire car CARBayes carcass cardidates care CARE1 caret caribou caroline CARramps CARrampsOcl caschrono cat catdata CatDyn catenary catIrt catnet caTools catR catspec CausalGAM causalsens Causata CAvariants cba CBPS CCA CCAGFA ccaPP cccd ccChooser cccrm ccda ccgarch cclust CCM CCMnet CCP CCpop CCTpack cda cdb CDFt CDLasso CDM CDNmoney CDVine cec2005benchmark cec2013 celestial CellularAutomaton cellVolumeDist cem censNID censReg CensRegMod CePa cepp cfa

5,600以上の 統計処理・可視化のパッケージ

7,500

Page 16: 20140625 rでのデータ分析(仮) for_tokyor

  ? なにそれ? おいしいの?

Excelじゃ ダメなんでしょうか? 自主規制

Page 17: 20140625 rでのデータ分析(仮) for_tokyor

•  検定はExcelで十分 (と思う)

Page 18: 20140625 rでのデータ分析(仮) for_tokyor

•  回帰分析はキツい –  変数の上限が16個 –  因子型の変数をサポートしない

–  変数選択が手動

Page 19: 20140625 rでのデータ分析(仮) for_tokyor

Webデータ分析&データサイエンスで役立つ統計学・機械学習系の分析手法10選

銀座で働くデータサイエンティストのブログより

株式会社リクルートコミュニケーションズデータサイエンティスト尾崎 隆⽒

1.  回帰分析 2.  独立性の検定 3.  主成分分析・因子

分析 4.  クラスタリング 5.  決定木 / 回帰木 6.  サポートベクターマ

シン(SVM) 7.  ロジスティック回帰 8.  ランダムフォレスト

9.  アソシエーション分析

10.  計量時系列分析

自主規制

Page 20: 20140625 rでのデータ分析(仮) for_tokyor

Webデータ分析&データサイエンスで役立つ統計学・機械学習系の分析手法10選

銀座で働くデータサイエンティストのブログより

株式会社リクルートコミュニケーションズデータサイエンティスト尾崎 隆⽒

1.  回帰分析 2.  独立性の検定 3.  主成分分析・因子

分析 4.  クラスタリング 5.  決定木 / 回帰木 6.  サポートベクターマ

シン(SVM) 7.  ロジスティック回帰 8.  ランダムフォレスト

9.  アソシエーション分析

10.  計量時系列分析

Excel単体では困難 (“2. 独立性の検定”を除く)

自主規制

Page 21: 20140625 rでのデータ分析(仮) for_tokyor

•  ヒストグラムや箱ひげ図の大量生産も難しい

Page 22: 20140625 rでのデータ分析(仮) for_tokyor

それでもExcelで頑張りたい •  以下の書籍を購入すると分析アドインがダウンロード できる

Page 23: 20140625 rでのデータ分析(仮) for_tokyor

でも コマンドライン なんでしょう?

Page 24: 20140625 rでのデータ分析(仮) for_tokyor

•  逆に考えるんだ。GUIなんてなくてもいいさ と考えるんだ。

– 再現性 •  100回 分析して 100回 同じ結果になりますか?

– 自動化 •  100回 同じことをできますか?

Page 25: 20140625 rでのデータ分析(仮) for_tokyor

そう、すべてを叶えるパッケージがそろってるんです。

にはね

Page 26: 20140625 rでのデータ分析(仮) for_tokyor
Page 27: 20140625 rでのデータ分析(仮) for_tokyor

アジェンダ 1.  データを確認・加工する - 前処理 2.  エネルギー(kcal)を推定する - 重回帰分析 3.  カテゴリを判別する - 決定木

Page 28: 20140625 rでのデータ分析(仮) for_tokyor

1. データを確認・加工する- 前処理 -

Page 29: 20140625 rでのデータ分析(仮) for_tokyor

今回使用するデータ

beer.csv

•  大手4社の成分一覧表から作成

Page 30: 20140625 rでのデータ分析(仮) for_tokyor

前処理の流れ

データの 読み込み

データの 確認

欠損値の 処理

Page 31: 20140625 rでのデータ分析(仮) for_tokyor

データの読み込み # CSVファイルを読込むbeer <- read.csv("beer.csv", header = TRUE, encoding = "UTF-8")# 変数の確認str(beer)

Page 32: 20140625 rでのデータ分析(仮) for_tokyor

データの読み込み 'data.frame': 86obs.of52variables:

$商品名:Factorw/86levels“アサヒオリオンサザンスター

$販売元:Factorw/4levels"アサヒ","キリン",..:1111

$カテゴリ:Factorw/4levels"Beer","Beer-Taste”,..:111

$アルコール分:num55.565.555.585.556.5...

$エネルギー:int42454846474574484250...

$たんぱく質:num0.30.30.40.50.30.40.60.50.

        (中略)

$硫酸Ca:int0000000000...

$硫酸Mg:int0000000000...

Page 33: 20140625 rでのデータ分析(仮) for_tokyor

データの確認(1/2) # データの概要を把握するsummary(beer)

Page 34: 20140625 rでのデータ分析(仮) for_tokyor

データの確認(1/2) 脂質糖質食物繊維ナトリウム

Min.:0Min.:0.00Min.:0.00Min.:0.00

1stQu.:01stQu.:2.801stQu.:0.051stQu.:0.00

Median:0Median:3.10Median:0.05Median:3.50

Mean:0Mean:3.01Mean:0.22Mean:2.68

3rdQu.:03rdQu.:3.603rdQu.:0.103rdQu.:4.00

Max.:0Max.:7.50Max.:2.10Max.:10.00

NA's:2NA's:2

欠損値がある

Page 35: 20140625 rでのデータ分析(仮) for_tokyor

データの確認(2/2) # “糖質”が欠損している行の1〜3列目beer[is.na(beer$糖質), 1:3]

商品名販売元カテゴリ

42ドラフトギネス(R)キリンBeer

43ギネス(R)エクストラスタウトキリンBeer

まさかのギネス・・・

Page 36: 20140625 rでのデータ分析(仮) for_tokyor

データの確認(2/2)

確かに 欠損している

h"p://www.kirin.co.jp/products/list/nutri4on/

Page 37: 20140625 rでのデータ分析(仮) for_tokyor

欠損値の処理(1/3) # 今回はカテゴリ=“Beer”の糖質の平均値で欠損値を置換する# カテゴリごとの平均値sugar.means <- by(beer$糖質, beer$カテゴリ, mean, na.rm=TRUE)sugar.means

Page 38: 20140625 rでのデータ分析(仮) for_tokyor

欠損値の処理(1/3) beer$カテゴリ:Beer

[1]3.569388

-------------------------------------------------------------------beer$カテゴリ:Beer-Taste

[1]0

-------------------------------------------------------------------beer$カテゴリ:Happoshu

[1]2.45

-------------------------------------------------------------------beer$カテゴリ:New-Category

[1]2.233333

Page 39: 20140625 rでのデータ分析(仮) for_tokyor

欠損値の処理(2/3) # 元のデータをコピーするbeer.imputation <- beer# “糖質”列が欠損している行番号を取得するrows <- which(is.na(beer.imputation$糖質))# 上️で取得した行の”糖質”列に平均値を代入するbeer.imputation$糖質[rows] <- sugar.means[1]

Page 40: 20140625 rでのデータ分析(仮) for_tokyor

欠損値の処理(3/3) # 欠損していた行の”商品名”と”糖質”を表示するbeer.imputation[rows, c("商品名","糖質")]

商品名糖質

42ドラフトギネス(R)3.569388

43ギネス(R)エクストラスタウト3.569388 欠損値が置換された

Page 41: 20140625 rでのデータ分析(仮) for_tokyor

前処理の流れ

データの 読み込み

データの 確認

欠損値の 処理

read.csv() summary()is.na()

mean()by()

Page 42: 20140625 rでのデータ分析(仮) for_tokyor

2. エネルギー(KCAL)を推定する- 重回帰分析 -

Page 43: 20140625 rでのデータ分析(仮) for_tokyor

重回帰分析とは •  「ある数値」から別の「ある数値」を予測すること •  独立変数~従属変数間の数式を統計学的に推測すること 例) 中古マンションの価格(万) = 2787.542

+ 11.91817 × 土地面積 (m2) ‒ 32.955 × 築後年数(年) ‒ 303.147 × 駅からの徒歩時間(分) + 6.831651 × 駅からの距離(m)

Page 44: 20140625 rでのデータ分析(仮) for_tokyor

重回帰の流れ •  エネルギー(kcal)を他の変数から予測するモデルを作成

モデルの 作成 変数選択

Page 45: 20140625 rでのデータ分析(仮) for_tokyor

モデルの作成 # ”エネルギー”を全変数から“商品名”と”販売元”を除いて予測するモデルenergy.lm <- lm(エネルギー~.-商品名-販売元, data=beer.imputation)# モデルの確認summary(energy.lm)

Page 46: 20140625 rでのデータ分析(仮) for_tokyor

モデルの作成 Call:

lm(formula=エネルギー~.-商品名-販売元,data=beer.imputation)

Residuals:

Min1QMedian3QMax

-2.4964-0.49750.00000.39362.7876

Page 47: 20140625 rでのデータ分析(仮) for_tokyor

モデルの作成 Coefficients:(17notdefinedbecauseofsingularities)

EstimateStd.ErrortvaluePr(>|t|)

(Intercept)0.378441.182910.3200.75033

カテゴリBeer-Taste-3.948473.86952-1.0200.31235

カテゴリHapposhu3.098031.130892.7390.00846**

カテゴリNew-Category4.466821.524172.9310.00505**

アルコール分5.276350.3288716.044<2e-16***

たんぱく質3.728331.478812.5210.01486*

脂質NANANANA・・・

変数の係数 係数の信頼度

Page 48: 20140625 rでのデータ分析(仮) for_tokyor

モデルの作成 Residualstandarderror:0.984on49degreesoffreedom

(2observationsdeletedduetomissingness)

MultipleR-squared:0.9934,AdjustedR-squared:0.9889

F-statistic:279.4on34and49DF,p-value:<2.2e-16

自由度調整済み決定係数

Page 49: 20140625 rでのデータ分析(仮) for_tokyor

変数選択 # Stepwise法で不要な変数を削減するenergy.lm.step <- step(energy.lm)# モデルの確認summary(energy.lm.step)

Page 50: 20140625 rでのデータ分析(仮) for_tokyor

変数選択 Call:

lm(formula=エネルギー~カテゴリ+アルコール分+

たんぱく質+糖質+食物繊維+プリン体+

エンドウタンパク+スターチ+レモン果汁+

小麦+大豆タンパク+大麦+炭酸ガス含有+

米,data=beer.imputation)

Residuals:

Min1QMedian3QMax

-2.40742-0.48150-0.068810.385212.78099

Page 51: 20140625 rでのデータ分析(仮) for_tokyor

変数選択 Coefficients:

EstimateStd.ErrortvaluePr(>|t|)

(Intercept)0.207840.914420.2270.820872

カテゴリBeer-Taste-0.346221.36302-0.2540.800244

カテゴリHapposhu2.574850.699153.6830.000454***

カテゴリNew-Category2.927860.575285.0892.97e-06***

アルコール分5.408620.1933627.972<2e-16***

たんぱく質3.194130.931053.4310.001021**

糖質4.025300.1580825.464<2e-16***

・・・ 変数の係数 係数の信頼度

Page 52: 20140625 rでのデータ分析(仮) for_tokyor

変数選択 Residualstandarderror:0.9126on63degreesoffreedom

(2observationsdeletedduetomissingness)

MultipleR-squared:0.9924,AdjustedR-squared:0.9906

F-statistic:552on20and63DF,p-value:<2.2e-16

自由度調整済み決定係数 (全変数使用するよりも0.0017向上)

Page 53: 20140625 rでのデータ分析(仮) for_tokyor

変数選択 エネルギー(kcal)=0.20783716-0.34621957×カテゴリBeer-Taste

+2.57484995×カテゴリHapposhu

+2.92786458×カテゴリNew-Category

+5.40861848×アルコール分+4.02530013×糖質

+3.19412749×たんぱく質-2.28897132×大麦

+1.80778313×小麦+2.57260239×食物繊維

+0.09752287×プリン体+1.26001973×スターチ

-1.93356948×エンドウタンパク-1.25420551×米

-1.2644242×大豆タンパク-1.96882626×レモン果汁

-2.52586262×炭酸ガス含有

Page 54: 20140625 rでのデータ分析(仮) for_tokyor

•  エネルギー(kcal)を他の変数から予測するモデルを作成

重回帰の流れ

モデルの 作成 変数選択

lm() step()

Page 55: 20140625 rでのデータ分析(仮) for_tokyor

3. カテゴリを判別する- 決定木 -

Page 56: 20140625 rでのデータ分析(仮) for_tokyor

決定木とは •  木構造を利用して, 入力パターンに対応するクラス分類を決定するアルゴリズムを表現したもの

Page 57: 20140625 rでのデータ分析(仮) for_tokyor

決定木の流れ

決定木の 作成 剪定

•  カテゴリー(ビール・発泡酒・新ジャンル・ビールテイスト飲料)を他の変数から分類するモデルを作成

Page 58: 20140625 rでのデータ分析(仮) for_tokyor

決定木の作成 # C5.0による決定木を作成するためパッケージをインストールするinstall.packages(“C50”)# パッケージを読込むlibrary(C50)# “商品名”(1列目)と”販売元”(2列目)の列を削除するbeer.sub <- beer.imputation[, 3:52]# “カテゴリ”を分類する木構造モデルを作成するcategory.tree <- C5.0(カテゴリ~., data=beer.sub)

Page 59: 20140625 rでのデータ分析(仮) for_tokyor

# 決定木の概要を確認するsummary(category.tree)

Call:

C5.0.formula(formula=カテゴリ~.,data=beer.sub)

C5.0[Release2.07GPLEdition] WedJun2513:03:142014

-------------------------------

Classspecifiedbyattribute`outcome’

Read86cases(50attributes)fromundefined.data

決定木の作成

Page 60: 20140625 rでのデータ分析(仮) for_tokyor

Decisiontree:

スピリッツ>0:New-Category(20)

スピリッツ<=0:

:...麦芽<=0:New-Category(4)

麦芽>0:

:...プリン体<=4.4:Happoshu(11/1)

プリン体>4.4:Beer(51)

決定木の作成

Page 61: 20140625 rでのデータ分析(仮) for_tokyor

Evaluationontrainingdata(86cases):

DecisionTree

----------------

SizeErrors

41(1.2%)<<

決定木の作成

Page 62: 20140625 rでのデータ分析(仮) for_tokyor

(a)(b)(c)(d)<-classifiedas

----------------

51(a):classBeer

1(b):classBeer-Taste

10(c):classHapposhu

24(d):classNew-Category

決定木の作成

Page 63: 20140625 rでのデータ分析(仮) for_tokyor

Attributeusage:

100.00%スピリッツ

76.74%麦芽

72.09%プリン体

決定木の作成

Page 64: 20140625 rでのデータ分析(仮) for_tokyor

剪定 •  木構造が複雑な場合、過学習の可能性がある。複雑度を元に適切なサイズの木となるよう枝切りを行う。

Page 65: 20140625 rでのデータ分析(仮) for_tokyor

剪定 •  木構造が複雑な場合、過学習の可能性がある。複雑度を元に適切なサイズの木となるよう枝切りを行う。

今回は木のサイズが小さいため割愛 てへぺろ(・ω<)

Page 66: 20140625 rでのデータ分析(仮) for_tokyor

決定木の流れ

決定木の 作成 剪定

•  カテゴリー(ビール・発泡酒・新ジャンル・ビールテイスト飲料)を他の変数から分類するモデルを作成

C5.0()

Page 67: 20140625 rでのデータ分析(仮) for_tokyor

まとめ

Page 68: 20140625 rでのデータ分析(仮) for_tokyor

まとめ •  前処理

–  read.csv() CSVファイルの読込み –  summary() 概要を確認 –  is.na() 欠損を確認

•  重回帰 –  lm() 線形回帰モデルの作成

•  決定木 –  C5.0() 決定木モデルの作成

Page 69: 20140625 rでのデータ分析(仮) for_tokyor
Page 70: 20140625 rでのデータ分析(仮) for_tokyor

APPENDIX

Page 71: 20140625 rでのデータ分析(仮) for_tokyor

R入門資料 •  第三回Japan.R入門セッション 『はじめての「R」』補足 –  http://m884.hateblo.jp/entry/2012/12/03/232431

•  ドットインストール –  http://dotinstall.com/lessons/basic_r