Удалите вектор из другого вектора

#r

#r

Вопрос:

Я хотел бы удалить из вектора wine ниже вектора b=c(1,0) .
Результат должен быть d=c(1,1,0) .

 library(gtools)  wine=c(1,1,1,0,0) x=combinations(5,2,v=wine,set=FALSE,repeats.allowed=FALSE) y=matrix(NA,nrow(x),3)  

Я хочу найти дополнительную матрицу y x .
Спасибо, что уделили мне время.

Комментарии:

1. Я не понимаю, какое combinations отношение это имеет к описанию проблемы.

2. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы выделить именно то, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Ниже используется функция, которую я разместил здесь. Функция находит, где в y векторе x происходит возврат вектора индекса в y .

Во-первых, выясните, где b это происходит wine . Затем местоположение используется для удаления найденного вектора.

 occurs lt;- function(x, y) {  m lt;- length(x)  n lt;- length(y)  candidate lt;- seq.int(length = n - m   1L)  for (i in seq.int(length = m)) {  candidate lt;- candidate[x[i] == y[candidate   i - 1L]]  }  candidate }  wine lt;- c(1,1,1,0,0) b lt;- c(1,0)  i lt;- occurs(b, wine) d lt;- wine[-(i   seq(b) - 1L)]  d #[1] 1 1 0