У меня есть матрица X1
с 6 столбцами.Столбец 3 в этой матрице X1
содержит RouteNo
.У меня также есть вектор V1
, который извлекается из другой матрицы.Несколько значений из этого вектора совпадают с RouteNo
в X1
.Задача состоит в том, чтобы взять подмножество из матрицы X1
, где RouteNo
из X1
совпадает с RouteNo
из V1
.V1
содержит больше RouteNo
, чем в матрице X1
.
> X1
V1 V2 V3 V4 V5 V6
1 1 2 84072082 1 2000 0
2 2 2 84046006 1 2000 0
3 3 2 84046006 1 2001 0
4 4 2 84046006 1 2002 0
5 5 2 84021002 1 2002 0
6 6 2 84021002 1 2003 0
7 7 2 84021002 1 2003 0
8 8 2 84021002 1 2004 0
9 9 2 84021002 1 2005 0
10 10 2 84021002 1 2005 0
11 11 2 12468015 1 2006 0
12 12 2 12468015 1 2007 0
13 96 2 12468015 2 2000 0
> V1
[1] 84021001 84021002 84021105 84046006 84046007 84046008 84046009 84046011 84046013 84046014
> n2 = subset(X1, subset = X1[,3] %in% V1)
> dim(n2)
[1] 0 6
Я пытался использовать функцию subset
, но не получил желаемого результата.Я ожидаю получить матрицу, как показано ниже
2 2 2 84046006 1 2000 0
3 3 2 84046006 1 2001 0
4 4 2 84046006 1 2002 0
5 5 2 84021002 1 2002 0
6 6 2 84021002 1 2003 0
7 7 2 84021002 1 2003 0
8 8 2 84021002 1 2004 0
9 9 2 84021002 1 2005 0
Есть ли другой способ получить результат?Любая помощь приветствуется.Спасибо заранее.