R中没有返回功能

时间:2017-03-26 15:31:24

标签: r function

> 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矩阵的逆矩阵生成矩阵的函数。

1 个答案:

答案 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