lapply有多个函数参数

问题描述 投票:0回答:1
library(quantmod)
library(xts)


getSymbols("SY1.DE", from = "2019-4-10", to = "2019-4-19", auto.assign = TRUE)
getSymbols("PEP", from = "2019-4-9", to = "2019-4-19", auto.assign = TRUE)


calcreturn <- function(data, amount = 24) {
  start <- as.numeric(data[,4][1])
  end <- as.numeric(data[,4][nrow(data)])
  difference <- end - start
  winning <- difference * amount
  return(winning)
}



allstocks <- list(SY1.DE, PEP)
amount <- list(24, 23)

lapply(allstocks, calcreturn)

大家好!

这是我计算我的股票回报的代码。但是,我购买的股票数量不同,所以只有当金额参数不变时,lapply才有效。是否有一天可以应对不断变化的争论?

谢谢!

r lapply quantmod
1个回答
0
投票

您可以修改您的lapply以运行索引,逐个配对金额:

lapply(1:length(allstocks), function(x) calcreturn(allstocks[[x]], amount[[x]]))
© www.soinside.com 2019 - 2024. All rights reserved.