Учитывая список чисел, напишите функцию, которая дает наибольший интервал вместе с его размером. Пример 2, 4, 9, слева = 4, Справа = 9 Интервал = 5

#r

#r

Вопрос:

 IntervalFinder<-function(x) {
   sort(x)
   n=length(x)
   IntervalsList=c()
   for (i in x) {
   if (i <= n) {
   Int1= x[i]
   Int2= x[i 1]
   Interval= Int2-Int1
   IntervalsList=c(IntervalsList, Interval)
if ((Interval==max(IntervalsList))) {
LInt=Int1
   RInt=Int2
   IntervalSize=Interval}
  else
  {
  stop()
  }
  }
}
cat("The left interval is", LInt, ", the right interval is", RInt, "and the interval size is", Interval)
}
> IntervalFinder(x)
Error in IntervalFinder(x) :
  

Список x был ранее определен после множества проб и ошибок, но для удобства используйте тот, который указан в названии. Что я делаю не так?

Комментарии:

1. IntervalFinder(c(2,4,9)) кажется, у меня все работает нормально и дает ожидаемый результат. Однако, похоже, вы воссоздаете ?diff окольным путем. Здесь не должно быть необходимости в цикле — см. dx <- diff(x); md <- which.max(dx); cat(x[md], x[md 1], dx[md])