У меня есть список списков/векторов:R удалить пустые (NCHAR = 0) элементы из списка списков
list(c("cat1", "cat6", ""), c("cat5", "cat3", "cat4"), c("cat6",
"cat4", ""), c("cat5", "cat1", "cat2", "cat4"), c("cat6", "cat3",
"cat2"))
и я ищу элегантный способ, чтобы удалить внутренние элементы с NCHAR = 0, таких как 3-й элемент в первом списке (со значением ""). Я пробовал:
l[lapply(l,length)>0]
, но это не относится к длине внутренних элементов, а к внешней длине списка элементов. Ожидаемый результат:
list(c("cat1", "cat6"), c("cat5", "cat3", "cat4"), c("cat6",
"cat4"), c("cat5", "cat1", "cat2", "cat4"), c("cat6", "cat3",
"cat2"))
Любой помощь оценила
Вы можете попробовать 'sapply (l, function (x) x [nchar (x)> 0])' – Gopala