ベクトルの演算

Rは二項演算子を普通に c()同士に適用するだけでschemeのmapというかhaskellのzipWithみたいな事をしてくれる。とても楽チンで良い! 一方が足りないと足りないほうをサイクルして使う。

> 1:20 * c(1, 0)
 [1]  1  0  3  0  5  0  7  0  9  0 11  0 13  0 15  0 17  0 19  0

んだけど、haskellみたいにlazyじゃないからストリーム(無限シーケンス[1..]みたいの)は書けない。vimの set nuというか行番号付加、

paste(1:n, readLines("hogehoge"), sep=":")

は "hogehoge.txt"の行数がわかってないとだめかなあ?
とか悩み中。