r - 给定一个命名的字符向量列表,输出一个新列表,其中所有字符向量的唯一元素与原始列表的名称相反
问题描述
这是一个简化的例子。我的真实数据集非常大,所以答案在计算上应该是便宜的。
start.list <- list(cb_1 = c("VR_1", "VR_2", "VR_3"), cb_2 = c("VR_2", "VR_3", "VR_4"),
cb_3 = c("VR_3", "VR_4", "VR_5"))
> start.list
$cb_1
[1] "VR_1" "VR_2" "VR_3"
$cb_2
[1] "VR_2" "VR_3" "VR_4"
$cb_3
[1] "VR_3" "VR_4" "VR_5"
所需的输出列表:
> output.list
$VR_1
[1] "cb_1"
$VR_2
[1] "cb_1" "cb_2"
$VR_3
[1] "cb_1" "cb_2" "cb_3"
$VR_4
[1] "cb_2" "cb_3"
$VR_5
[1] "cb_3"
解决方案
使用enframe
和unnest
-
tibble::enframe(start.list) %>%
tidyr::unnest(value) %>%
{split(.$name, .$value)}
#$VR_1
#[1] "cb_1"
#$VR_2
#[1] "cb_1" "cb_2"
#$VR_3
#[1] "cb_1" "cb_2" "cb_3"
#$VR_4
#[1] "cb_2" "cb_3"
#$VR_5
#[1] "cb_3"
推荐阅读
- java - 如何在类中将 int 的所有内部使用转换为 BigInteger
- python - Numpy - 为什么 Fortran 内存布局在逐行读取时比 C 布局快
- python - Python tkinter:NameError:未定义名称'tk'
- javascript - LineItem 上的 Netsuite 字段更改功能正在触发 2 次
- python - NLP 计算与 yes 和 no 列相关的评论列中的单词
- node.js - ExpressJS 在 POST 请求中显示空的 req.body 对象,但不包括 Insomnia 或 cURL
- html - 用图库中的视频替换图像
- python - Python Numpy Conv 混淆
- css - height/width: 100% 和 --webkit-fill-available 有什么区别
- amazon-web-services - EMR ignores spark submit parameters (memory/cores/etc)