gpt4 book ai didi

r - 与列表名称相同的字符向量

转载 作者:行者123 更新时间:2023-12-04 01:17:33 25 4
gpt4 key购买 nike

我有一个看起来像这样的 list 。

my_list <- list(Y = c("p", "q"), K = c("s", "t", "u"))

我想用它们所在的列表的名称来命名每个列表元素(字符向量)。同一向量的所有元素必须具有相同的名称

我能够编写在单个列表元素上起作用的函数
name_vector <- function(x){
names(x[[1]]) <- rep(names(x[1]), length(x[[1]]))
return(x)
}

> name_vector(my_list[1])
$Y
Y Y
"p" "q"

但是找不到向量化它的方法。如果我使用apply函数运行它,则返回的列表不变
> lapply(my_list, name_vector)
$K
[1] "p" "q"

$J
[1] "x" "y"

我对my_list的期望输出是一个命名向量
 Y   Y   K   K   K  
"p" "q" "s" "t" "u"

最佳答案

我们通过unlist licition设置名称的同时对list进行rep

setNames(unlist(my_list), rep(names(my_list), lengths(my_list)))

stack放入两列data.frame中,提取“值”列,并用“ind”命名
with(stack(my_list), setNames(values, ind))

关于r - 与列表名称相同的字符向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54958347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com