小编use*_*024的帖子

R-申请用功能代替循环

我已经看到了十二个要学习应用,应用,应用的站点,但是它们没有比教您如何获取行或列的总和或平均值更有效的方法。我必须使用很多for循环,通常是嵌套的。请在下面说明如何用Apply替换。

for (i in 1:NTR) {
    X = as.vector(as.matrix(XTR[i,]))
    YZ = FN(W, V, U, X) # return Y and Z
    Y = YZ$Y
    Z = YZ$Z
    for (j in 1:NOUT) {
        F[i+NOUT*(j-1)] = Y[j]-YTR[i,j]
    } # j
} # i
Run Code Online (Sandbox Code Playgroud)

    for (k in 1:NOUT) {
        for (iwt in 1:NWT) {
            m = NHID*(NNLIN+1) 
            if (iwt <= m) { 
                i = (iwt-1) %/% (NNLIN+1) + 1
                j = (iwt-1) %% (NNLIN+1)
                EVZ = V[k,i+1]*Z[i]*(1-Z[i]) 
                if (j>0) EVZ = EVZ*X[j] 
                J[k+(n-1)*NOUT,iwt] …
Run Code Online (Sandbox Code Playgroud)

for-loop r apply nested-loops

-1
推荐指数
1
解决办法
5068
查看次数

标签 统计

apply ×1

for-loop ×1

nested-loops ×1

r ×1