嗨,我有以下代码工作。
它计算两个期间之间的百分比差异。对于第一个周期,函数返回 NA,因为没有变化。
我想用 mapply 替换以下代码并将两个参数传递给 fn.pc。
ts <- c(12, 14, 15, 17, 12, 8, 13, 16, 20)
fn.pc <- function(i) {
if (i == 1) NA else (ts[i] - ts[i-1]) / ts[i-1]
}
sapply(seq_along(tsVector), fn.pc)
例如,上面的函数签名将替换为:
fn.pc <- function(i, ts) {...
然后这个函数会被 mapply 调用,使用类似下面的代码:
mapply(fn.pc, seq_along(ts.vector), ts.vector)
但我无法让这个想法发挥作用。我认为这是因为两个参数的长度不同。
我有任何办法可以让这个工作。希望这很清楚。有点难以解释。