r - R list - 扩展向量元素以列出具有相同名称的元素
问题描述
我想知道是否有更短的方法来执行以下转换:
params <- list(A = 1, B = c(1, 2)) # -> list(A = 1, B = 1, B = 2)
purrr::lmap(params,
~ purrr::set_names(as.list(.x[[1]]),
rep(names(.x), length(.x[[1]])))
)
解决方案
这是一个选项,我们unlist
使用 'params' list
,然后将每个元素转换为列表元素,as.list
同时根据原始names
的'params'设置'params'list
rep
names
lengths
list
setNames(as.list(unlist(params)), rep(names(params), lengths(params)))
或与stack/deframe
library(tibble)
as.list(deframe(stack(params)[2:1]))
推荐阅读
- java - How to execute something every 10 seconds?
- entity-framework-core - Multiple relations to same table with one required and others optional in EF Core
- jenkins - Jenkins freestyle job: Difference between GitHub project URL and Git repositories
- reactjs - Gatsby - Cannot read property 'childImageSharp' of null
- rendering - Why does my window reset after everytime I call SDL_RenderPresent()?
- c - Updated valgrind suppression file for GTK
- powershell - 如果未明确抛出,则错误未在 PowerShell try/catch/finally 中捕获
- c# - 如何在 C# 中等待多个可能未初始化的任务?
- r - 在R中,需要找到8列的最佳组合,每行只能选择一个值
- python - 在类定义中获取实例化的变量名