应用两个元素的功能

时间:2018-11-26 09:53:23

标签: r loops apply

假设我有一个大小为n的向量x_n,并且我想对除第一个元素以外的每个元素应用一个函数,该函数取决于先前的元素f(x_i,x_(i-1)) ,如何做到不循环?

1 个答案:

答案 0 :(得分:0)

那呢?但正如@RLave *apply所指出的那样,这只是一个变相的循环:

my_fun<- function(i, x) {
    if(i == 1){
        return(x[i])
    } else {
        return(x[i] + x[i-1])
    }
}

x_n<- c(10, 20, 30, 40 ,50)

sapply(1:length(x_n), my_fun, x_n)
[1] 10 30 50 70 90