1

是否有任何模式匹配方法可以循环遍历 R 中的变量列表?

我很清楚使用索引,但是到目前为止,我还没有发现循环中的多个属性。

我所拥有的是:

x <- c(1, 2, 3, 4)
y <- c(4, 3, 2, 1)
for (i in 1:length(x)) {
    x[i]
    y[i]
}

我想拥有:

x <- c(1, 2, 3, 4)
y <- c(4, 3, 2, 1)
for ((xi, yi) in c(x, y)) {
    xi
    yi
}

问候!

4

3 回答 3

2

不,R 不允许您以这种方式解包值。您只能将序列中的每个元素分配给单个变量。

见这里: http ://cran.r-project.org/doc/manuals/R-lang.html#for

于 2012-11-14T16:34:01.023 回答
1

您可以使用mapply而不是for循环:

例如,

mapply(c, x, y)

使用相同索引中 的c所有值运行函数,即等。xyx=1y=4

     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    4    3    2    1

也可以定义新函数:

mapply(function(xi, yi) "your function", x, y)
于 2012-11-14T17:13:04.290 回答
0

看一下 foreach 包:

http://cran.r-project.org/web/packages/foreach/index.html

我想你会用 foreach() 函数找到你想要的。

于 2012-11-14T17:11:41.183 回答