Как не потерять скопированные элементы в setdiff в R?
Я использую setdiff
функция для извлечения элементов первого набора, которых нет в другом наборе. Но после оценки setdiff
Я получаю такие элементы, но они являются отдельными значениями (не так много, как было в первом наборе); как это:
> setdiff( c("x", "x", "y"), c("y"))
[1] "x"
Есть ли более умный способ извлечь такие элементы, но в количестве, которое было в первом наборе, например, в результате этой строки?
> c("x","x","y")[ c("x","x","y") %in% setdiff( c("x", "x", "y"), c("y"))]
[1] "x" "x"
1 ответ
Инвертировать совпадение для %in%
сделать выражение проще и оставить setdiff
позади:
> x <- c("x","x","y")
> x
[1] "x" "x" "y"
> x[!x %in% c("y")]
[1] "x" "x"