gpt4 book ai didi

r - R中的列表名称重复

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

R中有重复的列表名称时,这是怎么回事?

l <- list()
l[["A"]] <- 5
l[["B"]] <- 7
l[["C"]] <- 9
names(l) <- c("B", "B", "C")


输入 l[["B"]]返回

$B
[1] 5


输入 l返回

$B
[1] 5

$B
[1] 7

$C
[1] 9


复制“ B”时,是否有一种标准的方法来检索键“ B”的所有值?

最佳答案

如果名称重复,并且按名称调用子集,则仅返回第一个元素。实际上,[[只会给您一个元素,因此让我们来看一下[

l["B"]
# $B
# [1] 5


我们还可以看到尝试将 c("B", "B")用作子集甚至不会给我们正确的结果,因为R返回并再次获得了第一个 B

l[c("B", "B")]
# $B
# [1] 5
#
# $B
# [1] 5


检索所有 B元素的最安全方法之一是使用 names()向量的逻辑子集。这将为我们提供正确的元素。

l[names(l) == "B"]
# $B
# [1] 5
#
# $B
# [1] 7


这是为什么应避免重复名称的一个很好的例子。

关于r - R中的列表名称重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33244299/

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