给出它的位置返回一个值

时间:2013-09-09 05:21:40

标签: r

我正在尝试使用给定位置的有序数字集创建一个向量。相应位置的值在单列向量中。因此,我希望结果在一个向量中。像这样:

x.numbers <- c(100,120,140,160,180,200) #The ordered numbers

pos<-c(1,1,3,2,1,2,2,4,4,4,1,3,2,3,3,3,1,1,1,1)
position<-cbind(pos) #Vector with respective position

我正在寻找的答案应该返回矢量:

 Value
[1,]   100
[2,]   100
[3,]   140
[4,]   120
[5,]   100
[6,]   120
[7,]   120
[8,]   160

有没有办法在不使用循环的情况下完成此操作?任何建议将不胜感激。

1 个答案:

答案 0 :(得分:3)

通过它的声音你可以使用x.numbers[pos],或者你正在寻找类似的东西:

> cbind(pos, value = x.numbers[pos])
      pos value
 [1,]   1   100
 [2,]   1   100
 [3,]   3   140
 [4,]   2   120
 [5,]   1   100
 [6,]   2   120
 [7,]   2   120
 [8,]   4   160
 [9,]   4   160
[10,]   4   160
[11,]   1   100
[12,]   3   140
[13,]   2   120
[14,]   3   140
[15,]   3   140
[16,]   3   140
[17,]   1   100
[18,]   1   100
[19,]   1   100
[20,]   1   100