我有一个函数lvar2
(礼貌性:this user,从答案到this question),它将输入转换为一行字符。
lvar2 <- function(...) {
params <- list(...)
# stopifnot(length(params)%%2==0)
lefts = "LV"
rights = params[seq(1,length(params), by=2)]
rights <- Map(paste, rights, collapse="+")
paste(paste0(lefts, " =~", rights), collapse="\n")
}
例如
inputs <- c("abc", "def", "ghi", "jkl", "mno", "pqr", "stu", "vw", "xyz")
lvar2(inputs)
返回以下内容:
"LV =~abc+def+ghi+jkl+mno+pqr+stu+vw+xyz"
感谢previous question对此人的帮助,
我具有此循环功能来生成组合列表,我曾经将其存储到abc
library(purrr)
abc <- seq(3, length(inputs)) %>% map(combn, x = inputs, simplify = FALSE) %>% flatten
现在,我正尝试在abc
函数中迭代lvar2
中的值。
我尝试过
for (i in abc) {
a <- lvar2(i)
}
a
但是我只得到一行输出:
[1] "LV =~abc+def+ghi+jkl+mno+pqr+stu+vw+xyz"
我该怎么做?我对for
循环或类似的东西还很陌生。