Вы можете использовать следующие методы для фильтрации вектора в R:
Метод 1: фильтрация элементов, равных некоторому значению
#filter for elements equal to 8
x[x == 8]
Способ 2: фильтрация элементов по одному условию
#filter for elements less than 8
x[x < 8]
Способ 3: фильтрация элементов на основе нескольких условий
#filter for elements less than 8 *or* greater than 12
x[(x < 8) | (x > 12)]
Способ 4: фильтрация элементов в списке
#filter for elements equal to 2, 6, or 12
x[x %in% c(2, 6, 12)]
В следующих примерах показано, как использовать каждый метод на практике.
Пример 1: фильтр для элементов, равных некоторому значению
Следующий код показывает, как отфильтровать вектор в R для элементов, равных 8:
#create vector
x <- c(1, 2, 2, 4, 6, 8, 8, 8, 12, 15)
#filter for elements equal to 8
x[x == 8]
[1] 8 8 8
Мы можем так же легко отфильтровать элементы, которые не равны 8:
#create vector
x <- c(1, 2, 2, 4, 6, 8, 8, 8, 12, 15)
#filter for elements not equal to 8
x[x != 8]
[1] 1 2 2 4 6 12 15
Пример 2: фильтрация элементов по одному условию
Следующий код показывает, как отфильтровать вектор в R для элементов меньше 8:
#create vector
x <- c(1, 2, 2, 4, 6, 8, 8, 8, 12, 15)
#filter for elements less than 8
x[x < 8]
[1] 1 2 2 4 6
Пример 3: фильтрация элементов на основе нескольких условий
В следующем коде показано, как отфильтровать вектор в R для элементов меньше 8 или больше 12:
#create vector
x <- c(1, 2, 2, 4, 6, 8, 8, 8, 12, 15)
#filter for elements less than 8
x[(x < 8) | (x > 12)]
[1] 1 2 2 4 6 15
Пример 4: фильтрация элементов в списке
В следующем коде показано, как отфильтровать вектор в R для элементов, которые равны значениям в списке:
#create vector
x <- c(1, 2, 2, 4, 6, 8, 8, 8, 12, 15)
#filter for elements equal to 2, 6, or 12
x[x %in% c(2, 6, 12)]
[1] 2 2 6 12
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как удалить фреймы данных в R
Как удалить несколько столбцов в R
Как добавить значения к вектору с помощью цикла в R