日々の記録簿

日々のできごとの記録

日記

Rを勉強するためにいろいろ寄り道をしていた

投稿日:

Rをもっと勉強したいなと思って、『R言語徹底解説』を買ってみました。・・・が、ちんぷんかんぷん。クラスとか、オブジェクト指向とか、遅延評価とか、さっぱりわかりません。

これはいかんと思い、ここ2ヶ月ほど、プログラムを基礎から勉強していました。以下、手をだした言語と、役に立った書籍です。他にもいろいろ買ったのですが、自分の中で「これいい!」と思ったものだけ挙げています。

まずC言語から

最初は、『新・明解C言語入門』をひたすら書き写しました。1冊終わった次点では、これが何の役に立つんだろう?と思っていましたが、このあとC++に進んだときに、「基本は一緒だ」と気づいたので理解が一気に進みました。

他にも何冊か手をだしましたが、結局、これが一番分かりやすかったと思います。

ここまで1ヶ月くらい。

C++に手をだす

まず『やさしいC++』をやりました。例が淡白すぎて、あまり面白くはなかったのですが、Cから入ったためか中盤くらいまではすぐに理解できました。

次に手をだしたのが、”beginning c++ game programming”。英語ですが、「なぜこうするのか」「なぜクラスが必要なのか」といったあたりをコードで丁寧に説明してくれていて分かりやすかったように思います。

このとき、手元に『基礎からしっかり学ぶC++の教科書』を置いて、よくわからないところを補完していました。

この辺から、だんだんRのコードの書き方が変わってきました。うまく言えないのですが、「同じことを繰り返さない」「その言語っぽさを意識して書く」ということができるようになってきた気がします。

ここで勉強をはじめて2ヶ月くらい経っていました。

pythonを復習してみる

ここで久しぶりに『みんなのpython』を手に取ってみました。

で、読み始めた瞬間に「なにこれめっちゃわかりやすい!」「pythonすげー」って感動している自分がいました。前に読んだときは「オブジェクト指向とかクラスとか何言ってんだ?」って感じだったのに。

「初心者にはpython」という方もいますが、私はC++を勉強しないとpythonの良さがわからなかったので、人によるのだろうと思います。

ふたたびR言語・・・の前にhaskell

ここで再び『R言語徹底解説』を読んでみると、だいぶわかるようになっていました。クラスとか、オブジェクト指向とか出てきてもビビらない程度には・・・ですが。

ただ「遅延評価」「すべてが関数」といったあたりがイマイチわかりません。これはたぶん関数型言語も勉強しなければならないのでしょうね。

というわけで今はhaskellです。

正直、かなり難しくて、ぜんぜん進みません。ただ、haskellはおもしろい。C言語やpythonとはぜんぜん違った哲学があるように感じます。歩みは非常にゆっくりですが、もう少し勉強してみたいところです。

結論

他の言語を勉強したことで、Rのコードの書き方が変わった気がします(グローバル変数が怖いなんて前はぜんぜん考えていませんでした)。それと、これまで意味がわからなかったRの書籍の表現(クラスとか遅延評価とか)が何となくわかるようになりました。

正直、もっと若いうちに勉強しておくべきだったと思うのですが、後悔しても仕方がありませんよね。コツコツこれからも勉強していきます。

追記

私はふだんからLinuxを使っているので、環境構築はかなり楽でした。apt-getやyumで必要なものがあっさり揃うのは便利です。文字コードもあまり悩まなくていいですし。

Windowsではどうやるんだろう?と思って調べてみると、いろいろ面倒くさそうだったので、プログラムを勉強するときはLinuxのほうがいいような気がします。

スポンサーリンク

スポンサーリンク

-日記

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

x1 carbon (6th gen)にLinuxをインストールしてWWANを使う

Thinkpad X1 carbon (6th gen)のWWAN(Fibocom L850-GL)はLinuxでは動作しない。しかし、最近この問題がクリアされたようである。例によってソースはArch …

サイトをSSLへ移行してみた!

今、話題のLet’s Encryptを利用して、このサイトをSSLに移行してみました。 参考にしたのは、次のページです。 Arch Wiki Let’s Encrypt さくらのレンタルサ …

全国学力・学習状況調査の都道府県別平均正答率csvファイル

ごく稀に必要になることがあるのですが、どこにあったっけ・・・と探すのがめんどくさいので、アップロードしてしまうことにしました。 全国学力・学習状況調査の都道府県別平均正答率csvファイルです。ただし、 …

全国学力・学習状況調査の何が問題なのか(その1)

いい加減、この問題にケリをつけたほうがいいと思うので、論点を整理しておきます。 そもそも全国学力・学習状況調査は何のためにやるのか? 議論を整理するために、もっとも重要な論点は、これである。いったい全 …

ThinkPad X250 のトラックポイントが使いにくい!

X250を1ヶ月ほど使っていますが、最近いまいち旧機種に比べて使いにくいと思うようになりました。 で、気づいたのが、X250はトラックポイントの反応が鈍いということ。旧機種に比べて、操作に力が要ります …