2013-06-14 3 views
0

У меня есть 2 вектора x и w. Я хочу извлечь элементы вектора x по заказу w и длины z. Как я могу сделать это проще и быстрее в R?Извлечение значений формы вектора в соответствии с порядком другого вектора в R

 x = c(1.3, 1.5, 1.6, 2.4, 5.3, 6.6, 7.8) 
    w = c(1, 2, 3, 5, 7, 4, 6) 
    z = 5 
    m = matrix(c(x[w], w), ncol=2) 
    > m 
     [,1] [,2] 
    [1,] 1.3 1 
    [2,] 1.5 2 
    [3,] 1.6 3 
    [4,] 5.3 5 
    [5,] 7.8 7 
    [6,] 2.4 4 
    [7,] 6.6 6 

    f = m[1:z,1] 
    > f 
    [1] 1.3 1.5 1.6 5.3 7.8 

ответ

3

Почему бы не просто сделать:

x[w[1:z]] 
[1] 1.3 1.5 1.6 5.3 7.8 
Смежные вопросы