R拆分包括括号的公式

R split a formula including brackets

我目前正在编写一个使用 MLE 或 Gibbs 采样器估计随机前沿模型的程序包。 最终用户应该能够像这样输入他的公式:

sfm(公式 = y ~ x1 + ... + xk + (z1 + ... + zr), data = ...) (K-x 变量, r-z变量)

我的问题: 我不知道如何正确地将公式分成两部分。 拆分后的结果应该是:
1: "y ~ x1 + .. + xk"
2: "z1 + .. + zn"

在此先感谢您。
最佳

您可以尝试类似的方法:

library(stringr)
formula <- y ~ x1 + ... + xk + (z1 + ... + zr)
formula <- as.character(formula)
str_extract(formula, "(?<=\().*?(?=\))")[3]
[1] "z1 + ... + zr"

a <- str_extract(formula, "^.*?(?=\s\+\s\()")[3]
paste(formula[2],formula[1],a)
[1] "y ~ x1 + ... + xk"