вызывать функцию с каждыми двумя последовательными переменными - PullRequest
2 голосов
/ 02 апреля 2012

У меня есть

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

и я бы хотел вызвать функцию foo() с

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

Ответы [ 2 ]

2 голосов
/ 02 апреля 2012

С #R@irc.freenode.org:

x<-letters[1:10]; mapply(function(y,z) paste(y,z), head(x, -1), tail(x, -1))
2 голосов
/ 02 апреля 2012

Быстрый и грязный цикл 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])
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...