2014年6月26日木曜日

Rの備忘録

統計処理言語を使い始めたのでコマンドの備忘録

作業ディレクトリの指定
setwd("c:/")

変数へのファイルの読み込み
data <- read.csv("test.csv")
data <- read.table("test.csv", sep=",", header=T)

変数内部を表示
data

概略表示
summary(data)

頭数行を表示
head(data)

表形式で表示
edit(data)

カラムposxの取り出し
posx = data[, c("posx")]
posy = data[, c("posy")]
width = data[, c("width")]
average = data[, c("average")]


グラフ
plot(posx)

折れ線グラフ
plot(posx, type ='l')

分散の計算
var(posx)

PNGファイルへの出力
png("test.png", width = 640, height = 480)
plot(data)
dev.off()


スクリプト
作成、*.Rで保存

source(*.R)

スクリプトで定義した関数が使用できる

ただし、スクリプト内部の変数のスコープが、スクリプト内だけなので
コマンドラインの環境ではデータを使用できない

フォルダ内のファイルのリスト化
data <- list.files("c:/tmp")

データの個数
length(data)

2014年6月25日水曜日

docker上に基本開発環境を作成した

dockerで提供されているubuntuは基本のアプリしか準備されていないので、ビルド環境は自分で準備する必要がある

1 Dockerfileの作成
FROM ubuntu:14.04
MAINTAINER SUGI
RUN apt-get update
RUN apt-get install -y build-essential cmake wget unzip
の内容のDockerfileを作成

MAINTAINERは自分の名前を指定
installは自分の好みで

2 イメージの作成
Dockerfileを保存したディレクトリーで
$docker build -t develop/sugi . を実行

イメージ名は自分の好みで

3 イメージの確認
$docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
develop/sugi        latest              548d27f1064f        32 seconds ago      413.1 MB
ubuntu1404/sugi     latest              4b2c61ccc081        10 minutes ago      276.5 MB
ubuntu              14.04               e54ca5efa2e9        5 days ago          276.5 MB

4 履歴の確認
$ docker history develop/sugi
IMAGE               CREATED             CREATED BY                                      SIZE
548d27f1064f        52 seconds ago      /bin/sh -c apt-get install -y build-essential   132.9 MB
20078f011c88        2 minutes ago       /bin/sh -c apt-get update                       3.764 MB
b32376f1c28c        2 minutes ago       /bin/sh -c #(nop) MAINTAINER SUGI               0 B
e54ca5efa2e9        5 days ago          /bin/sh -c apt-get update && apt-get install    178.4 kB
6c37f792ddac        5 days ago          /bin/sh -c apt-get update && apt-get install    83.61 MB
83ff768040a0        5 days ago          /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/   1.903 kB
2f4b4d6a4a06        5 days ago          /bin/sh -c echo '#!/bin/sh' > /usr/sbin/polic   194.5 kB
d7ac5e4f1812        5 days ago          /bin/sh -c #(nop) ADD file:adc47d03da6bb2418e   192.5 MB
511136ea3c5a        12 months ago                                                       0 B

以上    

docker でubuntu 14.04を動かしてみた

ubuntu14.04を動かしてみる

$ docker run -i -t ubuntu:14.04 /bin/bash

Unable to find image 'ubuntu:14.04' locally
Pulling repository ubuntu
e54ca5efa2e9: Download complete
511136ea3c5a: Download complete
d7ac5e4f1812: Download complete
2f4b4d6a4a06: Download complete
83ff768040a0: Download complete
6c37f792ddac: Download complete
root@0889cb72e2ec:/#

抜ける場合は、exitする

dockerのプロセスが停止しているので
docker ps -a

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                     PORTS               NAMES
0889cb72e2ec        ubuntu:14.04        /bin/bash           About a minute ago   Exited (0) 8 seconds ago                       cranky_goodall

名前は適当に振られるようだ

停止したdockerのプロセスにアクセスする方法がよく分からないが、とりあえず

$docker start 0889cb72e2ec
を指示し
$docker attach 0889cb72e2ec
再度enterを押すと ubuntuのコマンドラインに戻る


ローカルマシンにイメージを作成する
$docker commit 0889cb72e2ec ubuntu1404/sugi

$docker images
~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
ubuntu1404/sugi     latest              4b2c61ccc081        34 seconds ago      276.5 MB
ubuntu              14.04               e54ca5efa2e9        5 days ago          276.5 MB

何も操作はしていないので、オリジナルのubuntuとサイズはかわらない

イメージの削除には、
docker rmi <id>

以上

dokcerをubuntu 14.04 64bitに構築した


apt-get install docker.ioだと古いバージョンがインストールされる

参考にしたページ
https://docs.docker.com/installation/ubuntulinux/

ここに従い
公開鍵の登録
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9

レポジトリの登録
sudo sh -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"

インストール
sudo apt-get update
sudo apt-get install apt-transport-https
/usr/bin/dockerとなる
(グループがrootだが、dockerに変更する)

sudo chgrp docker /usr/bin/docker

docker グループへの登録
sudo gpasswd -a ${USER} docker

一旦ログアウトし、dockerのバージョンを見る

$docker version
Client version: 1.0.1
Client API version: 1.12
Go version (client): go1.2.1
Git commit (client): 990021a
Server version: 1.0.1
Server API version: 1.12
Go version (server): go1.2.1
Git commit (server): 990021a

以上