R part2
■シェルからの実行
コマンド | 説明 |
R CMD BATCH program.R output.txt | program.R(Rのコード)をバッチ処理で実行。output.txtに処理結果を出力。 |
R CMD BATCH --help | バッチ処理のヘルプ |
■データファイルの読み込み・ファイル操作
コマンド | 説明 |
read.table("data.txt") | ファイルの読み込み |
help(read.table) | 詳しくはヘルプ |
help(file) | ファイルの操作のヘルプ |
R part1
コマンド | 説明 |
q() | Rの終了 |
help() help(関数名) |
ヘルプ |
getwd() setwd("/path/to/") |
作業フォルダの表示 作業フォルダの設定 |
library() search() ls() |
現在利用できるパッケージの一覧表示 現在読み込んでいるパッケージの一覧表示 ワークスペースに登録されたオブジェクトを確認する |
set.seed(123) | 乱数の種を設定する。 |
■サンプルデータirisを使ってみる。
コマンド | 説明 |
data(iris) ?iris iris summary(iris) |
アヤメデータをロード データの概要を表示 データ全体を表示 オブジェクト(iris)の要約 |
x <- iris head(x, 3) tail(x, 3) length(x) edit(x) showdata(x[2:4,] showdata(x[,1:2]) |
データフレーム データの先頭3行表示 データの末尾3行表示 ベクトルの長さ データエディタでデータフレームを閲覧 2-4行目を表示 1-2列目を表示 |
mean() median() range() var() cor() cov() sd() |
平均 中央値 最大値と最小値 分散(不偏分散を求める関数であって,標本分散を求める関数ではない) 相関係数 共分散 標準偏差 |
■参考
R-Tips http://cse.naro.affrc.go.jp/takezawa/r-tips/r.html
コピペで学ぶ Rでテクニカルデータプレゼンテーション http://monge.tec.fukuoka-u.ac.jp/R_analysis/0r_analysis.html#cross_table
統計・データ解析 http://oku.edu.mie-u.ac.jp/~okumura/stat/
統計言語 R の公式ヘルプでさらっと目を通しておくと良いトピックまとめ http://d.hatena.ne.jp/hoxo_m/20121108/p1
git
■バージョン管理の流れ
1.作業ディレクトリでの作業(ファイルを追加したり、編集したり。)
2.ステージングエリア(インデックス)更新(git commit)
3.リポジトリ(ローカル(個人)とリモート(共有))更新(git pull/push/fetch)
※使い方は、いろいろあるが、ここでは、ローカルリポジトリの操作で使うコマンドとリモートリポジトリの操作に使うコマンドにわける。
■ローカル
コマンド | 説明 |
git init | リポジトリを作成 |
git add | ファイルやディレクトリをインデックスに登録 |
git commit | インデックスに追加されたファイルをコミット。ローカルリポジトリへの反映。 |
git status | 変更されたファイルの一覧を表示 |
git log | コミットログを参照 |
.gitignoreファイル | 不要なファイルを管理対象外にする ex. echo |
■リモート
コマンド | 説明 |
git clone [url] | 既存のリポジトリの複製を作る |
git push | リモートリポジトリにブランチを作成or更新 |
git pull | リポジトリの更新を取得(マージする)。fetch と merge をあわせたコマンド。fetchの方が使われ、pullは、あまり使わない |
git fetch | リポジトリの更新を取得(マージはしない) |
git remote git remote -v |
リモートリポジトリの一覧 |
git branch -a git branch -av git branch -avv |
リモートブランチを含めたブランチ一覧 |
git checkout [branch名] | branchの切り替え |
git merge [他のbranch名] | ブランチのマージ |
■設定関連
コマンド | 説明 |
git config --global user.name ”(your name)" git config --global user.email "(your email)" |
ユーザ名 / メールアドレスを設定 |
git config -l | config一覧 |
git config --help | ヘルプの表示 |
git help config | config コマンドのヘルプを表示 |
■参考
いつやるの?git入門 http://www.slideshare.net/matsukaz/git-17499005
Git をはじめからていねいに https://github.com/Shinpeim/introduction-to-git/blob/master/README.md
ぼっちプログラマがチームに入る前に知っておきたい6つの git コマンド http://blog.layer8.sh/ja/2013/04/08/best-git-commands-for-the-lonely-programmer/
git-scm.com http://git-scm.com/book/ja
screen
■screenの使い方
.screenrc ファイルにprefixキーを設定。
コマンド | 説明 |
screen | screen起動 |
screen -v | バージョン確認 |
screen -ls | デタッチされているscreen一覧 |
screen -r screen -r [screen番号] |
最後にアタッチしていたscreenの呼び出し [screen番号]のscreenの呼び出し |
■screen コマンド
コマンド | 説明 |
[prefix] :? | デフォルトのキーバインド一覧 |
[prefix] d [prefix] ^D |
デタッチ |
[prefix] S [prefix] [tab] [prefix] Q [prefix] X [prefix] w [prefix] " |
windowの分割 ウィンドウ間での移動 現在の領域以外を消す 現在の領域を消す windowを切り替える windowを切り替える |
[prefix] p [prefix] n |
前のwindowに移動 次のwindowに移動 |
[prefix] [space] [prefix] [数字] [prefix] ^T |
次の番号のwindowに移動 その番号のwindowに移動 一つ前に開いたwindowに移動 |
[prefix] A | windowのタイトルを変更 |
[prefix] t | 時間を表示 |
■カット&ペースト
コマンド | 説明 |
[prefix] [ [prefix] [esc] [space] [Enter] [prefix] ] |
コピーモード 範囲指定開始 範囲指定終了 貼り付け |
treasure data
treasuredata(http://www.treasure-data.com/)にサインアップし、アカウント設定が前提です。
コマンド | 説明 |
td tables | テーブル一覧 |
td help:all | ヘルプ |
td help query | クエリーのヘルプ |
クエリー例 |
td query -w -d [データベース名] "select v['カラム名'], count(1) from [テーブル名] group by v['カラム名']" |
■参考 treasuredata quick start guide http://docs.treasure-data.com/articles/quickstart
mongodb
コマンド | 説明 |
mongo [データベース名] [外部ファイル ex.commands.js] | 外部ファイルの実行 |
mongodump --db [データベース名] | データベースのバックアップ |
mongorestore --drop [dumpファイルパス] | リストア。dropオプションは、同じものがあったら入れ替える意 |
■インタラクティブモードコマンド
コマンド | 説明 |
exit help |
インタラクティブモード脱出 ヘルプ |
show dbs | データベース一覧 |
show collections | コレクション一覧 |
use [データベース名]; | データベースの切り替え |
db.help(); db.stats(); |
ヘルプ 管理情報 |
db.[コレクション名].find(); db.[コレクション名].findOne(); db.[コレクション名].find().limit(5); db.[コレクション名].find().count(); db.[コレクション名].distinct("field"); |
基本構文 |
db.[コレクション名].insert({"email":"name@example.com"}); db.[コレクション名].update(条件, 処理, upsert, multi) |
insert文 update文 |
db.[コレクション名].find().sort({"field":1}); | ソート文。1は昇順、-1は降順 |
db.[コレクション名].find({"field":0}); db.[コレクション名].find({"field":0}, {"name":true}); |
条件抽出。第二引数で表示したいものを指定。 |
■用語
コレクション=テーブル
ドキュメント=レコード
■参考
mongodbチュートリアル https://wiki.10gen.com/pages/viewpage.action?pageId=5079135
mysqlとmongodb比較1 http://gihyo.jp/dev/serial/01/mongodb/0003?page=2
mysqlとmongodb比較2 http://docs.mongodb.org/manual/reference/sql-comparison/
mysql
コマンド | 説明 |
mysql --help | ヘルプ |
mysql -uユーザ名 -p データベース名 | 基本コマンドテンプレート |
mysql -u root -p mysql -uroot -p mysql |
管理者権限で接続 |
mysql [-t -N] [データベース名] < [ファイル名] | ファイルに記述したSQL文を実行 [-t | --table]:表形式(区切り線を出力)で結果を表示する。 [-N | --skip-column-names]:カラム名を出力しない。 |
mysql [-t -N] [データベース名] > [ファイル名] | 実行結果をファイルに出力 |
mysqladmin ping | サーバが起動しているか確認 |
mysqladmin processlist | 実行中のプロセスを確認 |
mysqlshow [データベース名] | テーブル一覧表示 |
mysqlshow --status [データベース名] | テーブル情報の一覧表示 |
インタラクティブモード コマンド
コマンド | 説明 |
mysql> \h mysql> help; |
ヘルプ |
mysql> \q | 接続の切断 |
mysql>show databases; | データベース一覧 |
mysql> use [データベース名]; | 接続データベースの選択 |
mysql> SHOW TABLES; | テーブル一覧 |
mysql> SHOW TABLE STATUS [FROM データベース名] | テーブル情報の一覧表示 |
mysql> \s | コネクションIDや、データベース名、ユーザ名、バージョンなどを知ることができる |
mysql> SHOW PROCESSLIST; | 実行中のプロセスを確認 |
mysql> SHOW STATUS; | サーバのステータス情報を確認 |
mysql> select * from mysql.user; | すべてのユーザの権限を確認する |
mysql> SELECT * FROM mysql.user WHERE User='ユーザ名'; | [ユーザ]の権限の確認 |
mysql> SELECT Host, User, Password FROM mysql.user; | 登録されているユーザー確認 |
■参考
MySQL Bootcamp http://lab.klab.org/mysql-bootcamp/