我有一个名为var.names
的4个名字的向量。使用combn()
,我获得了存储在com.names
中的这4个名称的所有唯一组合(例如,每个单独,2、3和所有4个的唯一组合)。
如何在lm()
的每一列中制作com.names
公式,并且在多个名称之间添加+
符号?
例如,在com.names[[1]][,1]
中,我们只有一个名字("gear"
),因此我的公式将为mpg ~ gear
。但是,在com.names[[2]][,1]
中,我们有两个名称("gear" "cyl"
),所以我的公式将是mpg ~ gear + cyl
,依此类推(总的来说,我们将有15个公式)。
var.names <- c("gear","cyl","drat","disp") # from BASE R 'mtcars' dataset
com.names <- lapply(seq_along(var.names),function(i)combn(var.names,i)) # all combinations
# My incomplete attempt:
lapply(com.names,function(x,d) lm(as.formula("mpg ~ ") )),data = mtcars) # ???