# NOT RUN {
## two-sided formula
f1 <- formulize("y", c("x1", "x2", "x3"))
## one-sided formula
f2 <- formulize(x = c("x1", "x2", "x3"))
## multi-sided formula
f3 <- formulize("y", c("x1", "x2", "x3"), c("z1", "z2"), "w1")
## can use numerics for column names
data(mockstudy)
f4 <- formulize(y = 1, x = 2:4, data = mockstudy)
## mix and match
f5 <- formulize(1, c("x1", "x2", "x3"), data = mockstudy)
## get an interaction
f6 <- formulize("y", c("x1*x2", "x3"))
## get only interactions
f7 <- formulize("y", c("x1", "x2", "x3"), collapse = "*")
## no intercept
f8 <- formulize("y", "x1 - 1")
f9 <- formulize("y", c("x1", "x2", "-1"))
## LHS as a list to use in arsenal functions
f10 <- formulize(c("y1", "y2", "y3"), c("x", "z"), collapse.y = "list")
## use in an lm
f11 <- formulize(2, 3:4, data = mockstudy)
summary(lm(f11, data = mockstudy))
## using non-syntactic names or calls (like reformulate example)
f12 <- formulize(as.name("+-"), c("`P/E`", "`% Growth`"))
f12 <- formulize("+-", c("P/E", "% Growth"), escape = TRUE)
f <- Surv(ft, case) ~ a + b
f13 <- formulize(f[[2]], f[[3]])
# }
Run the code above in your browser using DataLab