将给定索引从向量映射到另一个向量

时间:2013-02-16 21:04:18

标签: r function

我必须要载体

x <- c(2,5,6) # index vector
y <- c(10:20)  # value vector

现在,我编写了一个函数,只给出了v1中描述的v2值。 示例返回值(11,14,15)

mapIdxToVector <- function(x,y) {
  ret <- c(x);
  for( i in 1:length(x) ) {
    ret[i] <- y[x[i]];
  }
  return(ret);
}

R中是否有任何奇特的功能来改善我自己的功能?

此致 基督教

2 个答案:

答案 0 :(得分:3)

没有什么可以展示的,只是利用R的使用方式:

> y[x]
[1] 11 14 15

“手册简介”中对此进行了介绍,您可以通过粗略阅读本文档来节省大量时间:http://cran.r-project.org/doc/manuals/r-release/R-intro.html#Index-vectors

答案 1 :(得分:2)

你不需要在这里循环。 只是做

y[x]

由于R处理向量非常好,几乎所有你可以做的动作都支持向量。 索引也是如此。