就像标题一样。
有一个简单的例子。
如果我想探索之间关系vs
(因变量)和mpg
,cyl
和disp
(自变量),分别,我可以这样的代码:
library(tidyverse)
mtcars <- as_tibble(mtcars) %>%
mutate(mpg10 = mpg*10, cyl10 = cyl*10, disp10 = disp*10)
x = c('mpg', 'cyl', 'disp')
# y ~ x style
models <- map(x, ~ lm(substitute(vs ~ i, list(i = as.name(.))), data = mtcars))
现在,我想做更多的事情。如果mpg
在模型中,mpg10
也应该放入。如果cyl
在模型中,也cyl10
应该放入,等等。类似这样:
# y ~ x1 + x2 style
model1 <- lm(vs ~ mpg + mpg10, data = mtcars)
model2 <- lm(vs ~ cyl + cyl10, data = mtcars)
model3 <- lm(vs ~ disp + disp10, data = mtcars)
我不知道如何使用map()
function或for loop
。
任何帮助将不胜感激!
您可以使用grep
查找具有相同名称的所有列名称,并reformulate
创建用于中的公式lm
。
purrr::map(x, ~lm(reformulate(grep(.x, names(mtcars), value = TRUE),
'vs'), data = mtcars))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句