- 404 名前:397 mailto:sage [2012/02/17(金) 19:52:56.72 ]
- >>401
おもしろいかどうかわかりませんが、 data <- as.integer(runif(10,1,21)) のようなデータがある時に、 predicate <- function(x) { x < 5 } が真になるような項目を数え上げたいとします。 for文を使うと ret <- 0 for(i in 1:length(data)){ if (predicate(data[i])) { ret <- ret + 1 } } のような形になりますが、高階関数を使うと、 length(Filter(predicate, data)) と書けるようになります。 これは関数プログラミングの技法で、もう少し詳しく学びたいようでしたら programming in haskellなんかが薄くていい本なんじゃないかと思います。
|

|