> B_linkages <- function (J,j) {sum((X-X_omit(J,j))/X[j+56*(J-1)])}
> B_linkages(1,1)
[1] 0.9723767
这个工作得很好但是
> B_linkages_inter <- function (I,J) {
+ for (j in 1:56) {
+ for (i in 1:56) {
+ sum((X[i+56*(I-1)]-X_omit(J,j)[i+56*(I-1)])/X[j+56*(J-1)])
+ }
+ }
+ }
>
> B_linkages_inter(1,1)
> 1+2
[1] 3
与前一个函数相比,B_linkages_inter(1,1)不返回任何输出。
> 1+2
[1] 3
是我检查R是否已经停止的方法。为什么不是&#34; B_linkages_inter(1,1)&#34;显示任何结果? X是2464 * 2464矩阵,X_omit(J,j)是使用2464 * 2464矩阵的逆矩阵生成矩阵的函数。
答案 0 :(得分:2)
您的函数执行循环但不对计算执行任何操作。你必须将结果存储在循环中,如下所示:
out <- NULL
for (i in 1:10){
res <- i*2
out <- c(out,res)
}
out
[1] 2 4 6 8 10 12 14 16 18 20