R言語(ファイル書き込み1)

R言語続き、ファイル書き込みです。
ベクトルをwrite関数でファイルに書き込むと、

> a=1:10
> write(a,"out.txt")
> q()
Save workspace image? [y/n/c]: n
takk@deb9:~/r$ cat out.txt
1 2 3 4 5
6 7 8 9 10
takk@deb9:~/r$

このように見やすい形でテキストファイルに書き込まれます。

毎行書きたい場合は、セパレータを改行にすればよいです。

> a=1:10
> write(a,"out.txt",sep="\n")
> q()
Save workspace image? [y/n/c]: n
takk@deb9:~/r$ cat out.txt
1
2
3
4
5
6
7
8
9
10
takk@deb9:~/r$

文字列を書き込むには、writeLinesを使います。

> a=c("HELLO1","HELLO2","HELLO3")
> writeLines(a,"out.txt")
> q()
Save workspace image? [y/n/c]: n
takk@deb9:~/r$ cat out.txt
HELLO1
HELLO2
HELLO3
takk@deb9:~/r$

ではreadLinesとwriteLinesを使い、ファイルをコピーしてみましょう。

takk@deb9:~/r$ cat sample1.txt
1       6       11      16      21
2       7       12      17      22
3       8       13      18      23
4       9       14      19      24
5       10      15      20      25
takk@deb9:~/r$ R

(起動メッセージ省略)

> a=readLines("sample1.txt")
> writeLines(a,"sample2.txt")
> q()
Save workspace image? [y/n/c]: n
takk@deb9:~/r$ diff sample1.txt sample2.txt
takk@deb9:~/r$ cat sample2.txt
1       6       11      16      21
2       7       12      17      22
3       8       13      18      23
4       9       14      19      24
5       10      15      20      25
takk@deb9:~/r$

sample1.txtとsample2.txtは一致しました。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA