R 如何强制执行错误或';空';当访问不包含';不存在?
我觉得奇怪,这甚至是可能的:R 如何强制执行错误或';空';当访问不包含';不存在?,r,R,我觉得奇怪,这甚至是可能的: > x <- list(abc = 2, def = 4) > x$a [1] 2 我知道,这是一个旧的R版本。我们的型号正在生产中,似乎没有打算在短期内升级Prod R版本 更新: 找到了将部分匹配转换为警告的方法: > options(warnPartialMatchDollar = TRUE) > x$a [1] 2 Warning message: In x$a : partial match of 'a' to 'abc'
> x <- list(abc = 2, def = 4)
> x$a
[1] 2
我知道,这是一个旧的R版本。我们的型号正在生产中,似乎没有打算在短期内升级Prod R版本
更新: 找到了将部分匹配转换为警告的方法:
> options(warnPartialMatchDollar = TRUE)
> x$a
[1] 2
Warning message:
In x$a : partial match of 'a' to 'abc'
当变量名部分匹配时,您可以指定在
options
中使用参数warn=2
返回错误
options(warnPartialMatchDollar = TRUE, warn = 2)
使用方括号:
x[[“a”]]
我们必须更新一堆代码,但这是一个选项。我认为$
将使用部分匹配,因此使用[.]]
似乎是一条(正确的)道路-更多信息请参见?
$``我猜是这样的。语法方面,我更喜欢美元符号。有时候我们有很多级别的列表,它很快就会变得丑陋;我发现使用括号通过嵌套列表传递名称/索引等更容易/更安全/可行
options(warnPartialMatchDollar = TRUE, warn = 2)