magrittr のパイプを使用して次のコードを書き直したい:
max(diff(which(diff(runif(50)) > 0 )))
私の簡単なアプローチは次のとおりです。
library(magrittr)
runif(50) %>% diff > 0 %>% which %>% diff %>% max
しかし、これは (最初の) whichが原因で失敗します:
runif(50) %>% diff > 0 %>% which
which(.) のエラー: 'which' の引数が論理的ではありません
このエラーが発生する理由と、「diff > 0」の出力が論理ベクトルであるため、パイプが他の関数へのパイプと異なるように見える理由がわかりません。
余談ですが、率直に言って、比較のためにパイプする方法はありますか
runif(50) %>% diff %>% > 0