发布于 2021-04-24 00:44:13
不知道这是否有帮助,但是:它是一个language对象--即R解析输入,但不尝试计算任何组件--使用类“公式”
> f <- a ~ b + (c + d)
> str(f)
Class 'formula' language a ~ b + (c + d)
..- attr(*, ".Environment")=<environment: R_GlobalEnv> 如果您想使用这些对象,您需要知道它本质上是作为树存储的,其中父节点、运算符或函数(~、+、()可以提取为第一个元素,子节点(包括函数/运算符的“一致性”)可以提取为元素2.n,即
f[[1]]是~f[[2]]是a (第一个参数,即公式的LHS )。f[[3]]是b + (c+d)f[[3]][[1]]是+f[[3]][[2]]是b..。诸若此类。
哈德利韦翰的高级R中关于表达式的章节给出了更完整的描述。
这也是在R语言手册中讨论的(更模糊的)。
@ they 2554330指出,公式通常也有关联的环境;也就是说,它们携带指向创建它们的环境的指针。
https://stackoverflow.com/questions/67238165
复制相似问题