将“语言”项与向量进行比较

问题描述 投票:0回答:1

我收集了一个公式列表,例如,

g <- list( c("allo",3) ~ 23, c("toto",4) ~ 29)

然后我有以下变量

u = "toto"
v = 4
。我想检查方程的左侧是否有任何匹配
c(u, v)
。很容易提取第一个左侧项,例如
g[[1]][[2]]
,但该项具有类
language
,

str(g[[1]][[2]])
# language c("allo", 3)

如何将

language
表达式与
chr
向量进行比较?

r comparison formula
1个回答
0
投票

我们可以使用

substitute
来寻找相等性。

g <- list( c("allo",3) ~ 23, c("toto",4) ~ 29)
substitute(c(u, v), list(u = "toto", v = 4))
# c("toto", 4)
g[[2]][[2]]
# c("toto", 4)
sapply(g, function(.g) identical(.g[[2]], substitute(c(u, v), list(u = "toto", v = 4))))
# [1] FALSE  TRUE
© www.soinside.com 2019 - 2024. All rights reserved.