Mais conteúdo relacionado
Semelhante a Mコマンド入門 (20)
Mコマンド入門
- 2. 自己紹介
✓ TwitterID : weda_654
✓ 所属 : GoogleMapとAWSとデータ分析の会社
✓ 職 : 前処理蓄(略してショチク)
✓ 使用言語 : R(メイン), Python(たまに)
✓UNIXによる前処理の修行中ですこんなアイコン
2
- 4. 4
目次
✓ はじめに
✓ 要約Mコマンド
✓ Mコマンド2.0
✓ よく使うコマンド紹介
✓ さいごに
- 6. 再利用できないコード…
____
/ \
/ ─ ─ \
/ (○) (○) \
| (__人__) |
\ `⌒́ ,/
/ ー- \
6
32bitOS…
メモリは4GB…
蓄積されないノウハウ…
進捗ありません…
ショチク
ショチクこと私の辛み
はじめに
- 8. 8
Mコマンドとは
はじめに
✓ NYSOLプロジェクトの一つ
✓ UNIX(Mac・Linux)環境で動作する大規模なcsvデータを
効率よく処理するためのコマンド群
✓ オープンソースであるため無料で扱える
- 11. 11
導入(1)
はじめに
✓ http://www.nysol.jp/にアクセス
✓ Downloadをクリックし説明に従っていけばOK
- 15. 15
利点
要約Mコマンド
✓ 公式マニュアル一つで必要な知識は網羅できる
✓ パイプでコマンド同士をつなげて処理ができる
✓ 処理が早い* 過去のTokyoRで速度比較のスライドがあります
- 16. 16
欠点
要約Mコマンド
✓ Windowsでは使用できない
* cygwinでは使用不可,使うのであればVMWare&Linux環境が必要
✓ 中間生成物に気をつける必要がある
✓ csv限定のためtsvやtxtはcsvに変換しなければならない
✓ 公式マニュアルのサンプルコードの再現が面倒
* 各コマンドを試すためのデータを自分で探す必要がある
- 17. 17
Mコマンドの基本
要約Mコマンド
✓ 公式マニュアルの2章を参照すると良い
✓ 今回は紹介するコマンドを扱うために必要な要素のみを抜粋
• データ型について
• パラメータについて
• キーブレイク処理について
✓ 公式マニュアルにはMコマンドにおけるcsvデータの定義などの
説明があるため目を通したほうが良い
- 18. 扱うコマンド
18
データ型について(1)
要約Mコマンド
✓ データ型の決定手順
1. すべて文字列として扱われている
2. 扱うコマンドによってデータの方が決定される
文字列
数値型文字列型日付型時刻型論理型ベクトル型
- 21. 21
キーブレイク処理(1)
要約Mコマンド
✓ その項目が並び替わっていることを前提として,同一の
キー項目値ごとに一定の処理を行う処理方式のこと
✓ キーブレイク処理の種類
• 集計キーブレイク処理
• 結合キーブレイク処理
集計や結合を行う(k=のある)コマンドを実行する前に
キーとなる列を並び替える必要がある
- 25. 25
Mコマンド2.0
Mコマンド2.0
✓ 1.xから2.0にかけての変更点
• k=をもつコマンドに自動並び替え機能が追加された
* それにともない新たなパラメータも追加された
集計や結合のたびに並び替え処理を行う必要がなくなった
より使いやすなったので,これらから使う方は2.0がおすすめ
- 28. 紹介するコマンド
✓ 出現頻度の高い上位20位のコマンドから10位まで抜粋
* 中原先生のプログ (http://nakapara.jp/practice/about_mcmd)
28
よく使うコマンド紹介
✓ 使用データ
• iris : おなじみのアヤメ
• airquality : Rのデータセットの一つ
• Data Expo 2009のAirlineのデータ
- 30. 30
よく使うコマンド紹介
紹介するコマンド(2)
✓ 3位 : mcalコマンド
• 項目同士の計算や文字列の操作など用途は多岐にわたる
• mcal c=‘処理の内容'のように表記する
irisデータからSpeciesの項目を抜き出し,
Species内の重複を削除,
mcalコマンドで文字列の長さを新たな項目として追加・出力
*
- 32. 32
よく使うコマンド紹介
紹介するコマンド(4)
✓ 7位 : muniqコマンド (Rにおけるunique)
* mcalにて出ているため省略
✓ 8位 : mcatコマンド (Rにおけるrbind)
✓ 9位 : mslideコマンド
* mcalにて出ているため省略
- 35. 紹介するコマンド+α(2)
35
よく使うコマンド紹介
✓ mchkcsvコマンド
• csvデータの中にはMコマンドに適していないものもある
• Mコマンドで処理できるか確認し修正するコマンド
文字コードをutf8に変換,
Mコマンドで処理できるよう修正,
mtonullコマンドで文字列NAを欠損値に置換
*
-diagを追加で確認
- 37. Mコマンドを使ってみて
✓ 処理結果の可視化をするためには…
37
さいごに
✓ はやい・やすい・うまい
✓ 似た名称・用途のコマンドがいくつかあって混乱する
✓ AWKやSedとの連携でもっと便利に?
✓ Rとの連携
• ターミナルとRStudioの切り替えが面倒になってきた
• system関数をうまく使えば幸せになれる?