Как я могу написать функцию, которая возвращает нечетные числа только из списка целых чисел, используя язык R?

Как я могу написать функцию, которая возвращает нечетные числа только из списка целых чисел, используя язык R? Пока я пробовал это

function3 <- function(x){ x<-as.integer(x) if (x %% 2 ==1) { return(x) } }

но это не работает для списков или векторов, и я действительно не знаю, как изменить свой код, так как «если» будет жаловаться на условие> «имеет длину> 1», и будет использоваться только первый элемент

function(x) x[ x %% 2 == 1 ]. Некоторые проблемы с вашим кодом: если x является вектором, тогда ваш if будет жаловаться на the condition has length > 1 and only the first element will be used, и, поскольку вы не вырезаете нечетные элементы, он возвращает входной аргумент. (Единственное изменение состоит в том, что я предполагаю, что вы хотите, чтобы он был целочисленным, хотя для этого вам действительно понадобилось бы x <- as.integer(x).)   —  person Lakhdar Mohamed Amine    schedule 09.03.2019

Большое спасибо, это была опечатка, и этим объясняется первое сообщение об ошибке. Теперь, когда мой код работает с одним целым числом; Я хотел бы использовать списки (векторы) и чтобы моя функция возвращала только нечетные элементы списка, но я действительно не знаю, как это сделать.   —  person Lakhdar Mohamed Amine    schedule 09.03.2019

В моем комментарии ответ состоит из первых 28 символов. Единственное, что вам нужно добавить, — это преобразовать в целые числа.   —  person Lakhdar Mohamed Amine    schedule 09.03.2019

По крайней мере, часть этого вопроса является дубликатом stackoverflow.com/q/23316161/3358272 и stackoverflow.com/q/14170778/3358272. Ваш первоначальный вопрос о том, как вернуть нечетные числа, был недостаточен, чтобы знать, что это был дубликат в первый раз.   —  person Lakhdar Mohamed Amine    schedule 09.03.2019

Источник: ledsshop.ru

Стиль жизни - Здоровье!