如何测试对象是否是以R为基数的公式?
R有许多用于测试对象类型的助手,例如,如何测试对象是否是以R为基数的公式?,r,R,R有许多用于测试对象类型的助手,例如,is.character(x) (奇怪地缺失)Is.formula(x)是否有等价物 (注:我发现至少有一个包在BaseR之外实现了此功能)根据我的评论,您可以: is.formula <- function(x){ inherits(x,"formula") } is.formula您可以使用rlang的文档中的rlang::is\u formula()或rlang::is\u bare\u formula(): is\u formula()
is.character(x)
(奇怪地缺失)Is.formula(x)
是否有等价物
(注:我发现至少有一个包在BaseR之外实现了此功能)根据我的评论,您可以:
is.formula <- function(x){
inherits(x,"formula")
}
is.formula您可以使用rlang的文档中的rlang::is\u formula()
或rlang::is\u bare\u formula()
:
is\u formula()
测试x
是否是对~
的调用is\u bare\u formula()
测试除“formula”之外,x
不会继承任何其他内容
inherits()
是一种常见的方法,但是如果我们想要严格,我们应该关注调用,而不是类属性,正如rlang::is_formula()
所做的那样,我在这里提出了一个基本版本:
a_公式[1]错误
由(v0.3.0)创建于2019-11-10。当interits(x,“formula”)
为真时,as.formula
仅返回其参数,因此您只需使用它。