gpt4 book ai didi

r - 带有现金标签 ($) 符号的列表中的对象完成

转载 作者:行者123 更新时间:2023-12-03 16:52:45 25 4
gpt4 key购买 nike

大家,早安,

我有一个非常简单的问题。

foo <- list(bar=2)

众所周知,我可以访问 bar带括号或使用现金标签 ($) 符号的对象。
> foo$bar
[1] 2
> foo[["bar"]]
[1] 2

如果我更换 barba , 我将得到与现金标签 ($) 相同的结果,但带有括号的结果不同。
> foo$ba
[1] 2
> foo[["ba"]]
NULL

有没有办法得到结果 NULL而不是 2在这种情况下使用现金标签 ($)?

最佳答案

我不相信有可能让它返回 NULL,除非列表中还有其他东西也部分匹配输入。因此,如果您的列表中有一个名为 bak 的元素,那么 foo$ba 将返回 null,因为部分匹配不是唯一的。

> foo <- list(bar=2)
> foo$ba
[1] 2
> foo$bak <- NA
> foo$ba
NULL

如果/当发生部分匹配时,您还可以打开一个选项以发出警告。
> options(warnPartialMatchDollar = TRUE)
> foo <- list(bar = 2)
> foo$ba
[1] 2
Warning message:
In foo$ba : partial match of 'ba' to 'bar'

但正如您所看到的,它仍然返回部分匹配的值。如果您希望它在部分匹配的情况下返回 NULL,那么我只建议使用 [[而不是 $一般来说,使用 [[ 可能只是一个更好的主意。无论如何。

关于r - 带有现金标签 ($) 符号的列表中的对象完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46588608/

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