применять с несколькими аргументами функции - PullRequest
0 голосов
/ 20 апреля 2019
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 работает только тогда, когда аргумент количества не меняется. Есть ли день, чтобы заняться изменением аргументов?

Спасибо!

1 Ответ

0 голосов
/ 20 апреля 2019

Вы можете изменить свой lapply так, чтобы он проходил по индексу, соединяющему одну акцию с количеством:

lapply(1:length(allstocks), function(x) calcreturn(allstocks[[x]], amount[[x]]))
...