Как указано в комментариях, вы должны всегда предоставлять воспроизводимые образцы данных и код. Минимальные выборочные данные лучше всего использовать с dput
, что позволяет избежать необходимости вручную вводить ваши данные, а также позволяет избежать двусмысленности из-за неизвестных / неоднозначных типов данных. Вы были вокруг ТАК некоторое время, поэтому вы должны знать, как публиковать хороших вопросов .
В ответ на ваш вопрос, один вариант будет использовать dplyr::bind_rows
и dplyr::bind_cols
, а затем выбрать только те столбцы, которые не содержат any
NA
s.
library(tidyverse)
bind_rows(map(lst, bind_cols)) %>% select_if(~!any(is.na(.x)))
## A tibble: 2 x 10
# id name month year units clients pbox punits eval public
# <chr> <chr> <dbl> <dbl> <dbl> <dbl> <lgl> <dbl> <lgl> <lgl>
#1 akromils-… Akro-Mils Pro… 12000 137000 3000 6 FALSE 0 FALSE FALSE
#2 adc-produ… American Diag… 26000 312000 650 2 TRUE 650 FALSE FALSE
Пример данных
lst <- list(
list(
id = "akromils-production",
name = "Akro-Mils Production",
month = 12000,
year = 137000,
units = 3000,
clients = 6,
pbox = FALSE,
punits = 0,
cbox = FALSE,
cunits = 0,
sbox = FALSE,
sunits = 0,
eval = FALSE,
public = FALSE),
list(
id = "adc-production-2",
name = "American Diagnostics - Production (2)",
month = 26000,
year = 312000,
units = 650,
clients = 2,
pbox = TRUE,
punits = 650,
eval = FALSE,
public = FALSE)
)