【发布时间】:2021-12-23 06:12:25
【问题描述】:
我有一个这样的数据框:
> df
Person a b c d
John 1 0 1 1
James 0 1 1 0
Keith 1 0 0 0
Boris 0 1 0 0
...
并且我需要将其转换为向量列表,其中元素的名称对应于数据框的列名,列表的元素是列中有 1 的人的名称。对于上面的例子,列表应该是这样的:
> result_list
$a
[1] "John" "Keith"
$b
[1] "James" "Boris"
$c
[1] "John" "James"
$d
[1] "John"
继续我所知道的,每一列的“切换”名称的向量可以这样获得:
df$Person[which(df$a == 1)]
但我不确定如何正确地迭代它,我认为对于使用 dplyr 和 purrr 的任务可能有一个整洁的解决方案。
【问题讨论】: