Я хочу переписать следующий код с трубами из magrittr:Использование magrittr и который
max(diff(which(diff(runif(50)) > 0)))
Мой простой подход был бы:
library(magrittr)
runif(50) %>% diff > 0 %>% which %>% diff %>% max
Но это не удается из-за (первого) который:
runif(50) %>% diff > 0 %>% which
Ошибка, в котором (.): ар gument to 'which' не является логическим
Я не уверен, почему возникает эта ошибка, и почему трубопроводы, которые, похоже, отличаются от трубопроводов к другим функциям, поскольку вывод «diff> 0» является логическим вектором.
Замечание, что бы там быть способом трубы для сравнения, грубо говоря
runif(50) %>% diff %>% > 0
Спасибо за ваши советы!
Полностью magrittr'ed версия будет 'х%>% дифф%>% is_greater_than (0)%>% который%>% diff%>% max' imo –