Ваша ошибка из-за использования функции any. Любое (x <= 10) всегда будет истинным, если одно значение в x меньше десяти, например, это будет верно для [1, 2, 10, 15, 30]. Из-за этого эта функция никогда не достигает второго оператора if. </p>
Что вы на самом деле хотите сделать, так это отобразить эту функцию. Сначала удалите «любые» вызовы в вашей функции. Затем передайте свою функцию (помеченную здесь как «случайная») в функцию карты. Функция карты - это динамическая функция, которая принимает в качестве аргументов функцию и список объектов (в данном случае номеров). Затем карта применяет функцию к каждому элементу указанного списка.
* 1005 Е.Г. *
Отображение [1, 2, 3, 4] с x ** 2 возвращает [1, 4, 9, 16].
Отображение [1, 5, 15, 20] со случайными возвратами [1, 25, 6, 6]
В R есть несколько различных функций отображения, поэтому посмотрите здесь , чтобы выбрать, какая из них лучше для вас. Некоторые даже включают операторы if, которые могут сэкономить ваше время.