是否存在用于循环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
}
问候!
答案 0 :(得分:2)
不,R不允许您以这种方式解压缩值。您只能将序列中的每个元素分配给单个变量。
答案 1 :(得分:1)
您可以使用mapply
代替for
循环:
,例如,
mapply(c, x, y)
运行c
函数,x
和y
中的所有值都在同一索引处,即x=1
和y=4
等。
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 4 3 2 1
也可以定义新功能:
mapply(function(xi, yi) "your function", x, y)
答案 2 :(得分:0)