Вы можете подумать об этом как о задаче изменения формы, чтобы масштабировать ее для нескольких столбцов, то есть создавать столбец значений, а не отслеживать все, что вы работаете со столбцами V2
и V3
. Таким образом, вы можете сделать это за один проход с некоторыми основными функциями обратного хода. Это также позволяет легко фильтровать данные перед составлением списка, основываясь на удалении пробелов или любых других условиях, опять же без указания столбцов.
library(dplyr)
# thanks @Gregor for filling in the data
tibble::rownames_to_column(t1, var = "clust") %>%
select(-V1) %>%
tidyr::gather(key, value, -clust) %>%
filter(value != "") %>%
split(.$clust) %>%
purrr::map("value")
#> $clus1
#> [1] "a" "d"
#>
#> $clus2
#> [1] "b" "e"
#>
#> $clus3
#> [1] "c"