0

我必须要向量

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中是否有任何花哨的功能来改进我自己的功能?

真诚的基督徒

4

2 回答 2

3

没什么好展示的,只需利用 R 的使用方式:

> y[x]
[1] 11 14 15

这在 R 手册介绍中有所介绍,您可以通过粗略阅读以下文档节省大量时间:http: //cran.r-project.org/doc/manuals/r-release/R-intro。 html#Index-vectors

于 2013-02-16T21:09:01.530 回答
2

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

y[x]

由于 R 很好地处理了向量,几乎你可以做的每一个动作都支持向量。索引也是如此。

于 2013-02-16T21:08:17.747 回答