Hy,R - Для цикла и применить функцию (Quantmod)
У меня есть этот кадр данных, я хочу загрузить данные из Yahoo и Вычислить процентное изменение (функция Delt в Quantmod)
View(Equity)
Symbol
1 A
2 AA
3 AAC
I сделал цикл
m<-nrow(Equity)
for (i in 1:m) {
EquityDF <- Equity[i,]
Data<-getSymbols(EquityDF,src="yahoo")
Delt[i]<-apply(EquityDF[,1:5], 2, function(x) Delt(x, k=1)*100)
}
Но я получил эту ошибку
Error in EquityDF[, 1:5] : incorrect number of dimensions
Я знаю, почему эта ошибка появляется, потому что если я
EquityDF
значения выходного это
"A"
, как я могу это исправить?
Благодаря
thks @wici, он работает :) Если я сделаю то же самое для k = 2, как я могу присоединиться к спискам? (для примера Delt и Delt2)? Delt2 <- lapply (mget (Equity [, 1]), функция (y) { применяется (y [, 1: 5], 2, функция (x) Delt (x, k = 2) * 100)}) – Kardu
Каков ваш ожидаемый результат объединенных списков? возможно, вы имеете в виду это 'mapply (list, Delt, Delt2, SIMPLIFY = FALSE)'? – wici
Вы правы :) большое спасибо wici. – Kardu