每两个连续变量调用一个函数

时间:2012-04-01 21:07:27

标签: r

我有

c('a', 'b', 'c', 'd')

我想用

调用函数foo()
foo('a', 'b')
foo('b', 'c')
foo('c', 'd')

2 个答案:

答案 0 :(得分:2)

快速而肮脏'for'循环来完成这项工作:

foo <- function(a, b) {
  print(a)
  print(b)
}

a <- c('a', 'b', 'c', 'd')

for (i in 1:(length(a)-1)) {
  foo(a[i], a[i+1])
}

答案 1 :(得分:2)

来自#R@irc.freenode.org:

x<-letters[1:10]; mapply(function(y,z) paste(y,z), head(x, -1), tail(x, -1))