integer(0)
означает, что в вашем фрейме данных есть нет элементов, которые удовлетворяют условиям.(Вы можете попробовать
with(df, any(95 <= V5 & V5 <= 105 &
13 <= V6 & V6 <= 17))
(отредактировано на основе комментария @ H1, чтобы соответствовать вашему описанию, а не вашему коду); немного переставить, чтобы приблизиться к синтаксису A < B < C
, который парсер R не может обработать...)
Вы, вероятно, должны проверить str(df)
и / или summary(df)
(или sapply(df, class)
), чтобы убедиться, что ваш фрейм данных действительно был прочитан, как предполагалось (или используйте dplyr::read_csv()
, которыйвыводит информацию о классах, выведенных из набора данных. В частности, любые опечатки в ваших данных, которые делают запись , а не действительным числом (дополнительный десятичный знак, пропущенное значение, такое как «?», не распознается как пропущенное)и т. д.) заставит R интерпретировать весь столбец как символ (поскольку вы установили stringsAsFactors=FALSE
), а не числовую переменную.
Если вы хотите, чтобы столбцы 2-14 были числовыми, вы можетеиспользуйте df[-1] <- lapply(df[-1], as.numeric)
однако, было бы лучше найти и исправить любые проблемы вверх по течению ...