我有两个向量,我想在 R 中创建一个列表,其中一个向量是键,另一个是值。我以为我会很容易地在我的书中找到答案或在谷歌上搜索,我期待找到一个解决方案,比如将名称添加到向量(names(v)<-names_vector),但我失败了。
我自己提出了两种可能的解决方案,但对我来说,它们都不优雅。R 不是我的主要编程语言,但我认为 R 如此务实应该存在更好的解决方案(类似于 list(keys=x, values=y))。
我的解决方案1:经典循环解决方案:
> xx <- 1:3
> yy <- letters1:3
> zz =list()
>for(i in 1:length(yy)) {zz[[yy[i]]]<-xx[i]}
我的解决方案 2:通过命名向量的间接路径:
> names(xx) <- letters[1:3]
> as.list(xx)
似乎我有一个解决方案,但我的向量有 100 万个或更多元素,我不仅担心编码风格(对我很重要),而且担心效率(但我不知道如何在 R 中进行分析)。有没有更合适的方法来做到这一点?使用命名矢量快捷方式是一种好习惯吗?
[[更新]] 我的应用程序,可能我过度简化了问题以使其可重现。我想为列表的元素命名。我首先尝试了 names() ,但似乎我做错了什么并且没有工作。所以我得到了一个错误的想法,即 names() 不适用于列表。但他们确实如接受的答案所示