我想测试计算对 4 个参数值的敏感性。为此,我想一次更改一个参数——即,更改变量 1,将变量 2-4 保持在“默认”值(例如,1)。我认为组织这些值的一种简单方法是在 data.frame() 中,其中每一列对应一个不同的变量,每一行对应一组应该进行计算的参数。然后,我将遍历数据帧的每一行,根据该行中的参数值评估一个函数。
这似乎应该是一件简单的事情,但我找不到快速的方法来做到这一点。
问题可能是我对敏感性分析进行编程的总体方法,但我想不出一种好的、简单的方法来对上述 data.frame 进行编程。
我生成data.frame的代码:
Adj_vals <- c(seq(0, 1, by=0.1), seq(1.1, 2, by=0.1)) #a series of values for 3 of the parameters to use
A_Adj_vals <- 10^(seq(1,14,0.5)) #a series of values for another one of the parameters to use
n1 <- length(Adj_vals)
n2 <- length(A_Adj_vals)
data.frame(
"Dg_Adj"=c(Adj_vals, rep(1, n1*2+n2)), #this parameter's default is 1
"Df_Adj"=c(rep(1, n1), Adj_vals, rep(1, n1+n2)), #this parameter's default is 1
"sd_Adj"=c(rep(1, n1*2), 0.01, Adj_vals[-1], rep(1, n2)), #This parameter has default of 1, but unlike the others using Adj_vals, it can only take on values >0
"A"=c(rep(1E7, n1*3), A_Adj_vals) #this parameter's default is 10 million
)
此代码生成所需的 data.frame。有没有更简单的方法来达到同样的效果?我会接受一个答案,sd_Adj
而0
不是0.01
.