Вы можете использовать следующий базовый синтаксис для удаления определенных элементов из вектора в R:
#remove 'a', 'b', 'c' from my_vector
my_vector[! my_vector %in% c('a', 'b, 'c')]
В следующих примерах показано, как использовать этот синтаксис на практике.
Пример 1: удаление элементов из вектора символов
Следующий код показывает, как удалить элементы из вектора символов в R:
#define vector
x <- c('Mavs', 'Nets', 'Hawks', 'Bucks', 'Spurs', 'Suns')
#remove 'Mavs' and 'Spurs' from vector
x <- x[! x %in% c('Mavs', 'Spurs')]
#view updated vector
x
[1] "Nets" "Hawks" "Bucks" "Suns"
Обратите внимание, что из вектора были удалены и Mavs, и Spurs.
Пример 2: удаление элементов из числового вектора
Следующий код показывает, как удалить элементы из числового вектора в R:
#define numeric vector
x <- c(1, 2, 2, 2, 3, 4, 5, 5, 7, 7, 8, 9, 12, 12, 13)
#remove 1, 4, and 5
x <- x[! x %in% c(1, 4, 5)]
#view updated vector
x
[1] 2 2 2 3 7 7 8 9 12 12 13
Обратите внимание, что каждое вхождение значений 1, 4 и 5 было удалено из вектора.
Мы также можем указать диапазон значений, которые мы хотели бы удалить из числового вектора:
#define numeric vector
x <- c(1, 2, 2, 2, 3, 4, 5, 5, 7, 7, 8, 9, 12, 12, 13)
#remove values between 2 and 10
x <- x[! x %in% 2:10]
#view updated vector
x
[1] 1 12 12 13
Обратите внимание, что все значения от 2 до 10 были удалены из вектора.
Мы также можем удалить значения больше или меньше определенного числа:
#define numeric vector
x <- c(1, 2, 2, 2, 3, 4, 5, 5, 7, 7, 8, 9, 12, 12, 13)
#remove values less than 3 *or* greater than 10
x <- x[!(x < 3 | x > 10)]
#view updated vector
x
[1] 3 4 5 5 7 7 8 9
Дополнительные ресурсы
Как удалить фреймы данных в R
Как удалить несколько столбцов в R
Как добавить значения к вектору с помощью цикла в R