2013-05-22 2 views
0

В R, пусть М матрица:В R, извлечение из матрицы всех строк, индексированных по компонентам вектора

 [,1] [,2] 
[1,] 1 9 
[2,] 3 12 
[3,] 6 4 
[4,] 7 2 

Я хотел бы извлечь все строки с элементами, равными компонентами из вектор v <- c(3,6,1) из колонны [1], в М производстве подматрицу М:

  [,1] [,2] 
    [1,] 1 9 
    [2,] 3 12 
    [3,] 6 4 

Я попытался

m <- M[which(M[,1] == v), ] 

получение сообщения об ошибке longer object length is not a multiple of shorter object length. Использование транспонирования t(v)v не помогает.

Большое спасибо!

Avitus

ответ

1

использованием %in%:

M[M[,1] %in% v,] 

    [,1] [,2] 
[1,] 1 9 
[2,] 3 12 
[3,] 6 4 
+0

Быстрый и эффективный; оно работает! Большое спасибо. Avitus – Avitus