【发布时间】:2020-01-25 23:24:00
【问题描述】:
我正在编写一个 R 包,用户在其中编写如下所示的公式:
outcome ~ var1 + var2 + mm(id, mmc(var3, var4), mmw(pupils^exp(teacher*b)))
右侧包括变量名称和元素 mm(),它本身包含变量名称 (id) 和元素 mmc() 和 mmw()。
我想将 mm()、mmc()、mmw() 分开,即以变量结尾
mm = id, mmc(var3, var4), mmw(pupils^exp(teacher*b))
mmc = var3, var4
mmw = pupils^exp(teacher*b)
我唯一的选择是将公式解析为字符,然后使用正则表达式来分隔元素,还是有办法更优雅地处理它,因为它是一个公式?
我试过了
all.vars
all.names
但是由于 mmw() 通常包含非线性函数关系,因此它们分解 mmw() 太多了
【问题讨论】:
-
使用索引的问题是顺序可能出乎意料:outcome ~ mm(id, mmc(var3, var4), mmw(pupils^exp(teacher*b))) +变量 1 + 变量 2。有没有办法为 mm()、mmc() 和 mmw() 获取正确的索引?
标签: r regex expression formula extract