Главный вопрос, который вам нужно задать, это то, что вы хотите вместо этого?
Поскольку вы работаете с данными об акциях, лучшая идея заключается в том, что если у вас нет данных об акциях, удалите их. Нечто подобное должно работать,
my_stocks_OHLCV[lapply(my_stocks_OHLCV,nrow)>0]
Если вы хотите строку, полную NA
или 0
Затем используйте функцию lapply
и для каждого элемента списка длиной 0 замените либо NA
, вектором 0 (c(0,0,0,0,0,0)
) и т. Д. *
Как то так,
condition <- !lapply(my_stocks_OHLCV,nrow)>0
my_stocks_OHLCV[condition] <- data.frame(rep(NA,6))
Здесь мы определяем переменную условия, которая будет элементами в списке, в которых у вас нет данных. Затем мы можем заменить их на NA
или поменять NA
на 0
. Однако я не могу придумать причину сделать это.
Вариант вашего вопроса, который вы можете обработать внутри цикла for, - проверить, есть ли у вас данные, а если нет, замените значения там на NA
s, и вы могли бы их задать правильные заголовки, как вы знаете, к какому запасу он относится.
Надеюсь, это поможет.