我已经看到了十二个要学习应用,应用,应用的站点,但是它们没有比教您如何获取行或列的总和或平均值更有效的方法。我必须使用很多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)