如何在R中编写is.customClass函数?
我们都知道像如何在R中编写is.customClass函数?,r,object,R,Object,我们都知道像is.data.frame或is.double等函数。可能很容易做到,但谷歌很难做到:如何创建自己的is。?功能?那么,有没有更好的方法: is.myClass <- function(x){ if(class(x) %in% "myClass") return(TRUE) else return(FALSE) } is.myClass也许继承就足够了: is.myClass <- function(x) {inherits(x,"myClass")} x <-
is.data.frame
或is.double
等函数。可能很容易做到,但谷歌很难做到:如何创建自己的is。?功能?那么,有没有更好的方法:
is.myClass <- function(x){
if(class(x) %in% "myClass") return(TRUE)
else return(FALSE)
}
is.myClass也许继承
就足够了:
is.myClass <- function(x) {inherits(x,"myClass")}
x <- 1
is.myClass(x)
[1] FALSE
class(x) <- c(class(x),"myClass")
is.myClass(x)
[1] TRUE
is.myClass也许继承
就足够了:
is.myClass <- function(x) {inherits(x,"myClass")}
x <- 1
is.myClass(x)
[1] FALSE
class(x) <- c(class(x),"myClass")
is.myClass(x)
[1] TRUE
is.myClass这个问题似乎是相关的:我认为应该反过来说:function(x){%class(x)中的“myClass”%
,但正如@James指出的那样,inherits
更惯用(我不知道它是否有任何其他优点)这个问题似乎是相关的:我认为应该反过来说:function(x){“myClass”%in%class(x)}
,但正如@James指出的那样,继承
更为惯用(我不知道它是否有任何其他优点),您不需要对单行使用{
和}
functions@hadley习惯的力量。记不得口译员是否因使用口译员而受到处罚。记住是否有口译员处罚是浪费时间;在我看来它很难看你不需要单行本的{
和}
functions@hadley习惯的力量。记不得口译员是否因使用口译员而受到处罚。记住是否有口译员处罚是浪费时间;在我眼里它看起来很难看