The Beginning Of The End

そこはかとなく技術的なことを

R Markdownのアウトプットをどうやってブログに書くか

R Markdownが便利なんですけどね

RStudioを使っているのですが、ドキュメントにまとめるのにR Markdownで記述していると結構便利で、
何が便利かというと、Markdownの中でRが実行できて、Rの実行結果のアウトプットを簡単に埋め込めるのです。
そして、それをPDFやHTMLとして保存できます。便利です。

何がしたいのかというと

RStudioで保存した、R Markdownの実行結果のhtmlをアウトプットとして、ブログに簡単に掲載したいのです。
要は、Hatena Blogでhtmlをホストできればいいのですが。。。
作成したhtmlをアップロードするだけとか。

一旦、GitHubにホストしてみたんですけどね。。。面倒。
こんな感じ

作成されたhtmlをいい感じにジェネレートしてくれるものがあれば、GitHubでいいのかな。

当分は、GitHubへのリンクになりそうw

「みんなのR」でRの基礎からお勉強1

「みんなのR」を購入しました

  • まだ始めたばかりですが、基本的なツールのインストール、操作、設定から丁寧に書かれていてとてもわかり易いです。
  • また統計に関する項目としても、基本的な項目があるように思います。まずはこの1冊をきっちりやれば次に繋がりそうな気がします。
  • アウトプットについては、RStudioで実行したログが中心になります。
  • 主に私の備忘録的なもののアウトプットです。

みんなのR ?データ分析と統計解析の新しい教科書?

みんなのR ?データ分析と統計解析の新しい教科書?

基本的な数学

1 + 1
1 + 2 + 3
3 * 7 * 2
4/2
4/3
4 * 6 + 5
( 4 * 6) + 5
4 * (6 + 5)

変数の代入

一般的な代入方法

x <- 2
x

= も使用できる

y = 5
y

向きを反対にしてもできる

3 -> z
z

代入演算子を連続して用いることもできる

a <- b <- 6
a = b = 7
## assign関数を使った代入
assign("j", 4)
j

関数の削除

remove(j)
rm(j)
j

データ型

主に使われる4つのデータ型(numeric / character / Date, POSIXct / logical)

変数が保持するデータの型を調べたいときは、class関数を使う

class(a)

numeric

numericは、整数と少数、正数と負数、ゼロを取り扱う

numericかどうか確認する

is.numeric(a)

使用頻度低いintegerは、正数のみを取り扱う

変数に整数を代入するには、数字の後ろにLをつける必要がある

i <- 5
j <- 5L
> class(i)
[1] "numeric"
> class(j)
[1] "integer"
> 

integerかどうか確認する

> is.integer(i)
[1] FALSE
> is.integer(j)
[1] TRUE
> 

jがintegerのとき、iはnumericのテストも通ることに注意する

> is.integer(i)
[1] FALSE
> is.integer(j)
[1] TRUE
> 

文字データ

Rは文字データを扱う基本的な型として、characterとfactorがある

characterは大文字と小文字を区別します

x <- "data"
x
> is.character(x)
[1] TRUE
> is.numeric(x)
[1] FALSE
> is.factor(x)
[1] FALSE
> 
y <- factor("data")
y
> is.character(y)
[1] FALSE
> is.numeric(y)
[1] FALSE
> is.factor(y)
[1] TRUE
>

characterまたはnumericの文字の長さを調べるには、nchar関数を使う

> class(x)
[1] "character"
> class(y)
[1] "factor"
> nchar(x)
[1] 4
> nchar(y)
nchar(y) でエラー:  'nchar()' は文字ベクトルを要求します 

日付

Rでは日付と時間を扱う型が複数あり、最も役に立つ型はDateとPOSIXct

as.numericおよびas.Date関数は、単にオブジェクトの形式を変えるだけでなく。根本的な型の変更を行います

> date1 <- as.Date("2015-07-19")
> date1
[1] "2015-07-19"
> class(date1)
[1] "Date"
> as.numeric(date1)
[1] 16635
> date2 <- as.POSIXct("2015-07-19")
> date2
[1] "2015-07-19 JST"
> class(date2)
[1] "POSIXct" "POSIXt" 
> as.numeric(date2)
[1] 1437231600
class(date1)
class(as.numeric(date1))

論理値

logicalはTRUEもしくはFALSEのどちらかの値をのみをとるデータを表します

数値的には、TRUEは1で、FALSEは0と同じ

> TRUE  * 5
[1] 5
> FALSE * 5
[1] 0

他の型と同様に、is.logical関数を使ってlogicalかどうかをテスト

k <- TRUE
class(k)
is.logical(k)

Rでは、TRUE/FALSEを短縮してT/Fと記述できるが、あまり使わないらしい

> l <- T
> m <- F
> class(l)
[1] "logical"
> class(m)
[1] "logical"
> l * 5
[1] 5
> m * 5
[1] 0

2つの数値または文字を比較すると、結果としてlogicalが得られる

> 2 == 3
[1] FALSE
> 2 != 3
[1] TRUE
> 2 < 3
[1] TRUE
> 2 <= 3
[1] TRUE
> 2 > 3
[1] FALSE
> 2 >= 3
[1] FALSE
> "data" == "stats"
[1] FALSE
> "data" < "stats"
[1] TRUE

boot2dockerでSSLエラー

boot2dockerでSSLエラー

コマンド何実行して以下のようなエラーがでる

An error occurred trying to connect: Get https://192.168.59.103:2376/v1.19/version: x509: certificate is valid for 127.0.0.1, 10.0.2.15, not 192.168.59.103

ぐぐる

  • TLS無効にすればいいよねというのは、すぐに分かっても、どうやればいいのかがわからない
  • ここを参考にprofileを編集するとうまくいった
  • 技術的には、こちらの方が納得感がある
  • TLSを無効にする設定を入れて動作確認
[11:45] % boot2docker stop                                                                                                         [~]
[11:45] % boot2docker start                                                                                                        [~]
Waiting for VM and Docker daemon to start...
............o
Started.

To connect the Docker client to the Docker daemon, please set:
    export DOCKER_HOST=tcp://192.168.59.103:2375
    unset DOCKER_CERT_PATH
    unset DOCKER_TLS_VERIFY

[11:46] % docker version                                                                                                           [~]
Client version: 1.7.0
Client API version: 1.19
Go version (client): go1.4.2
Git commit (client): 0baf609
OS/Arch (client): darwin/amd64
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
[11:46] % docker images                                                                                                            [~]
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
[11:46] % unset DOCKER_CERT_PATH                                                                                                   [~]
[11:47] % unset DOCKER_TLS_VERIFY                                                                                                  [~]
[11:47] % export DOCKER_HOST=tcp://192.168.59.103:2375                                                                             [~]
[11:47] % docker images                                                                                                            [~]
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              7322fbe74aa5        3 weeks ago         172.2 MB
centos              centos5             9069226e092e        11 weeks ago        284.1 MB
hello-world         latest              91c95931e552        12 weeks ago        910 B
gpmidi/centos-5.3   latest              c538b96552fd        12 months ago       524.3 MB