matsuyuta's blog

matsuyutaのブログ。

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://r.livedocs.net/

統計・データ解析 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 >> .gitignore

■リモート

コマンド 説明
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/