【发布时间】:2017-03-20 19:34:19
【问题描述】:
我创建了一个自定义函数来根据两个输入计算值。
# function
info.theta <- function(theta, delta) {
P = 1/(1+exp(-1*(theta-delta)))
Q = 1 -P
1*P*Q
}
我想使用该函数来计算两个感兴趣序列的所有可能值组合的值。
# for each input of the function create sequences of values to explore
thetas <- seq(-4, 4, by = .5)
deltas <- seq(-4, 4, by = .5)
我想最终得到一个数据框,其中有一列标记为 thetas、deltas 和 information,其中 theta 和 delta 都是函数中使用的序列的值,而 information 是函数的输出对于 theta 和 delta 的每个组合。
我不知道如何执行最后一点,因为这种级别的编码对我来说是新的。我的预感可能是嵌套的 for 循环。这显然是不正确的,但它已经尽可能接近开始了。我将如何以我描述的方式使用该函数来生成所需的数据框?
#nested for loop
y <- NULL
for(i in sequence) {
for(j in deltas) {
tmp <- info.theta(i, j)
y <- rbind(y, tmp)
}
}
y
【问题讨论】:
-
是的,一旦事情开始爆发,循环就不是很有趣了。如果您必须比较
n的东西怎么办?