sshでサーバーマシーンに接続して、Rで計算をちょくちょくしていると、
plot()関数のようなx windows systemを用いて、結果を描写する機会にたびたび遭遇します。
そこでssh接続するときに-Xのオプションをつけるとよいです。
ただし、これは手元の環境にXwindowsがあることが必須です。
したがって、Mac OS Xか、Linux、BSD等である必要があります。
$ ssh -X xxx.xxx.xx.x
これでいけます。
ためしに、
$ R
plot(rnorm(1000))
としてみるとxwindowsシステムがうまくいっているかを確認することができます。
医療系の仕事をしています。生命の尊さ、美しさがどのようなメカニズムで生じるのかに興味があります。科学の方法論を用いて、このような問いに応えたい、私はこう思って医学生物学の基礎研究のトレーニングを受けてきました。生命を科学的手法を用いて理解を試みる上で、genomeを始めとした種々の大量データの処理が必要不可欠であることを痛感しました。また、生命科学が物理学、数学、統計学、有機化学などの種々の学問と深い関わりを持つことを実感しました。そのため、このブログは広範囲の学問領域に関しての記事を載せています。日々の学習内容を文書に書き残し、それを読み返すことによって、体系化された知識を身に付けることを目標としています。どうぞよろしくお願いします。
windowsとlinuxのデュアルブートについて
OS Xでverboseモードで起動。
mac os xは、デフォルトでは起動プロセスを見ることができません。
そこで、command + v を押しながら起動するとverboseモードという起動プロセスの見ることのできるモードで起動できます。
また、verboseモードでの起動をデフォルトとするには
$ sudo nvram boot-args="-v"
と入力します。
また、元の起動モードに戻したいときは
sudo nvram boot-args=""
とします。
そこで、command + v を押しながら起動するとverboseモードという起動プロセスの見ることのできるモードで起動できます。
また、verboseモードでの起動をデフォルトとするには
$ sudo nvram boot-args="-v"
と入力します。
また、元の起動モードに戻したいときは
sudo nvram boot-args=""
とします。
shutdownコマンドのオプションについて
Rで終了するまでに数時間かかるループを書いて、寝るときは、コンピュータが自動的にシャットだうんしてもらう必要があります。
そこで、shutdownコマンドにオプションをつけて実行してみます。
3時間後にシステムを終了する。
$ sudo shutdown -h +180
そこで、shutdownコマンドにオプションをつけて実行してみます。
3時間後にシステムを終了する。
$ sudo shutdown -h +180
uniqコマンドを用いて重複した行の数をカウントする。
たとえば以下のようなファイルがあったとします(マイクロアレイなどのデータを想定しています)
$ cat example.txt
aaa
bbb
aaa
ccc
ddd
ccc
eee
fff
ggg
aaa
このファイルの中の重複行をカウントしたいと思います。
それには、sortコマンドでソートをかけたあとに、uniqコマンドにオプション-cを与えて実行します。すると以下のようになります。
$ sort example.txt | uniq -c
3 aaa
1 bbb
2 ccc
1 ddd
1 eee
1 fff
1 ggg
これはなかなか楽しめますね(^^)
$ cat example.txt
aaa
bbb
aaa
ccc
ddd
ccc
eee
fff
ggg
aaa
このファイルの中の重複行をカウントしたいと思います。
それには、sortコマンドでソートをかけたあとに、uniqコマンドにオプション-cを与えて実行します。すると以下のようになります。
$ sort example.txt | uniq -c
3 aaa
1 bbb
2 ccc
1 ddd
1 eee
1 fff
1 ggg
これはなかなか楽しめますね(^^)
Rのappend=Tの意味
appendというのは日本語で、「追加する」といったような意味です。
今まで、いろんな関数の引数であまり考えずに使ってきましたが、append=Tと明示して挙げると、
ファイルの内容を文字通りappendしてくれるわけです。
ですので、forループなんかをかけていて、毎回の計算結果を一つのファイルに出力したいときは、append=Tをつけてやればいいわけですね。
append=Tを使った簡単な例を一つ紹介します。
Rの起動
$ R
#Hello,worldを100回言わせるプログラム。ただし、毎回HELLO.txtというファイルに出力する。
for (i in 1:100){
cat("Hello, world!!¥n",file="HELLO.txt", append=T);
}
q()
$ cat HELLO.txt
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
〜以下省略〜
これは結構使えそうですね。
今まで、いろんな関数の引数であまり考えずに使ってきましたが、append=Tと明示して挙げると、
ファイルの内容を文字通りappendしてくれるわけです。
ですので、forループなんかをかけていて、毎回の計算結果を一つのファイルに出力したいときは、append=Tをつけてやればいいわけですね。
append=Tを使った簡単な例を一つ紹介します。
Rの起動
$ R
#Hello,worldを100回言わせるプログラム。ただし、毎回HELLO.txtというファイルに出力する。
for (i in 1:100){
cat("Hello, world!!¥n",file="HELLO.txt", append=T);
}
q()
$ cat HELLO.txt
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
Hello, World!!
〜以下省略〜
これは結構使えそうですね。
Rを用いてHello, world!!
プログラミングをはじめて初めてに行うのが、hello,worldを画面に表示させることですね。
今回は、Rにおいてこれをやってみます。
#Rの起動
$ R
#Hello,world!の表示
> cat("Hello, world!!|n");
Hello, world!!
>
こんな感じです。
これをあらかじめソースコードを作成して行ってみます。
ソースコードの作成
$ vim hello.R
a
cat("Hello, world!!¥n");
:wq
#Rの起動
$ R
#ソースコードを読み込む
> source("./hello.R")
Hello, world
>
今回は、Rにおいてこれをやってみます。
#Rの起動
$ R
#Hello,world!の表示
> cat("Hello, world!!|n");
Hello, world!!
>
こんな感じです。
これをあらかじめソースコードを作成して行ってみます。
ソースコードの作成
$ vim hello.R
a
cat("Hello, world!!¥n");
:wq
#Rの起動
$ R
#ソースコードを読み込む
> source("./hello.R")
Hello, world
>
Rを用いてHello, world!!
プログラミングをはじめて初めてに行うのが、hello,worldを画面に表示させることですね。
今回は、Rにおいてこれをやってみます。
#Rの起動
$ R
#Hello,world!の表示
> cat("Hello, world!!|n");
Hello, world!!
>
こんな感じです。
これをあらかじめソースコードを作成して行ってみます。
ソースコードの作成
$ vim hello.R
a
cat("Hello, world!!¥n");
:wq
#Rの起動
$ R
#ソースコードを読み込む
> source("./hello.R")
Hello, world
>
今回は、Rにおいてこれをやってみます。
#Rの起動
$ R
#Hello,world!の表示
> cat("Hello, world!!|n");
Hello, world!!
>
こんな感じです。
これをあらかじめソースコードを作成して行ってみます。
ソースコードの作成
$ vim hello.R
a
cat("Hello, world!!¥n");
:wq
#Rの起動
$ R
#ソースコードを読み込む
> source("./hello.R")
Hello, world
>