gpt4 book ai didi

R:覆盖 == 和 %in%

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

我写了一个 s4 类并覆盖了“==”运算符

setMethod("==",
signature=c(e1="CAttribute", e2="CAttribute"),
definition=function(e1, e2)
{
return(getName(e1) == getName(e2))
}
)

如果我现在想测试 CAttribute 的实例是否在 CAttributes 列表中,
a1 <- new("CAttribute", name="a1")
l <- list(new("CAttribute", name="a1"), new("CAttribute", name="a2"))
a1 %in% l

我收到以下错误
Error in match(x, table, nomatch = 0L) : 
'match' requires vector arguments

我做错了什么,如何测试 s4 对象列表是否出现与某个“==”运算符相关的特定对象?

最佳答案

如果您不覆盖 %in% ,它将使用 %in% 的当前实现您可以在 help 中找到:

"%in%" <- function(x, table) match(x, table, nomatch = 0) > 0
match函数不需要类 CAttribute 的对象这解释了你的错误。

关于R:覆盖 == 和 %in%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22037434/

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