我写了一个功能:
gener1 <- function(du){
nth <- paste0(paste0("dum", 1:du, " * ", "X", 1:du), collapse = " + ")
return(nth)
}
它返回一个序列:
"dum1 * X1 + dum2 * X2 + dum3 * X3"
现在,我想在接下来的功能,使用该序列。 只要我可以只复制并粘贴:
S = quote(dum1 * X1 + dum2 * X2 + dum3 * X3)
结果:
dum1 * X1 + dum2 * X2 + dum3 * X3
有用。 我不知道是否有可能使自动化,我并不需要使用“复制粘贴的方法”。
最终的产品我要实现的是在下列情况下使用S:
fo <- substitute(BH100 ~ S * ((1 - exp(-b2*TIME))/(1-exp(-b2*100)))^b3, list(S = S))
nls(fo, data = dane, start = list(b2 = 0.01, b3 = 1.1, X1 = 20, X2 = 20, X3 = 20))
下面是数据结构我的一个例子
year T BH100 TIME dum1 dum2 dum3 dum4
1987 25 12.6 25 1 0 0 0
1990 28 14.9 28 1 0 0 0
1994 32 18.8 32 1 0 0 0
1983 21 13.4 21 0 1 0 0
1986 24 16.1 24 0 1 0 0
1990 28 19.6 28 0 1 0 0
1998 36 26.7 36 0 1 0 0
2002 40 27.8 40 0 1 0 0
1994 32 17.2 32 0 0 1 0
1998 36 19.4 36 0 0 1 0
2002 40 23.5 40 0 0 1 0
2008 46 26.3 46 0 0 1 0
2013 51 28.7 51 0 0 1 0
1985 23 14.6 23 0 0 0 1
1989 27 18.5 27 0 0 0 1
1990 28 19.2 28 0 0 0 1