递归传递参数到R中的函数?

时间:2017-01-16 02:55:52

标签: r

假设

getValue(A1 - A0)然后group <- c("A0", "A1", "A2")

getValue(A1 - A0, A2 - A0)然后group <- c("A0", "A1", "A2", "A3")

getValue(A1 - A0, A2 - A0, A3 - A0)然后group <- c("A0", "A1", ..., "A100")

如果我有getValue(A1 - A0, ..., A100 - A0),那么group

我想知道如何自动getValue()的值传递给group <- c("A0", "A1", ..., "A1000"),就像上面三个示例一样,而不是手动逐一编写它们? / p>

例如,我有getValue(),如何将这些值传递给library(nlme) fm1 <- nlme(height ~ SSasymp(age, Asym, R0, lrc), data = Loblolly, fixed = Asym + R0 + lrc ~ 1, random = Asym ~ 1, start = c(Asym = 103, R0 = -8.5, lrc = -3.3)) 函数?

感谢。

1 个答案:

答案 0 :(得分:0)

您可能希望通过evalparse

使用非标准评估
group <- paste0("A", seq_len(101)-1)
cmdstr <- paste0("getValue(", 
    paste(paste(group[-1], group[1], sep=" - "), collapse=", "), 
    ")" )
cmdstr
eval(parse(text=cmdstr))

好奇,为什么getValue函数需要增加变量而不是列入一个列表?