我正在尝试使用给定位置的有序数字集创建一个向量。相应位置的值在单列向量中。因此,我希望结果在一个向量中。像这样:
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
有没有办法在不使用循环的情况下完成此操作?任何建议将不胜感激。
答案 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