Я хочу заменить все пустые списки (числовые (0)) значением 0 в следующем списке:
a <- list(numeric(0), 3.13887804749505, c(0.745977548064631, 15.7233179232099,
4.32068483740438, 19.6680377065919, 9.24007013740377), numeric(0),
c(28.8670111833615, 1.27199935252619, 26.6173612819351, 46.8824614685704
), c(3.03425142063166, 3.08366863855608, 4.37959434697201,
4.00518501422067, 2.05826729526789, 2.29413068424335))
Я пытался это:
b <- lapply(a, function(x) ifelse(length(x)==0,0,x))
Но я получаю первый номер из каждого списка:
list(0, 3.13887804749505, 0.745977548064631, 0, 28.8670111833615,
3.03425142063166)
Есть ли способ сделать это с применением, а не с циклом?
Цикл занимает очень много времени (список очень большой).