如何将字符串列表传递给函数?

时间:2020-08-14 18:00:50

标签: r

我有一个函数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循环或类似的东西还很陌生。

0 个答案:

没有答案