Ich mag würde wissen, ob es möglich ist, den folgenden Trick vermeiden for
Schleifen apply
mit smoehow vielleicht zu tun, aber ich weiß nicht, wie mit den max(i-4,1)
R - Vermeidung von for-Schleifen basierend auf Matrixindizes
x <- matrix(seq_len(100),10,10)
x[,1] <- letters[1:10]
y <- x
for (i in 1:nrow(x)) {
for (j in 2:ncol(x)) {
y[i,j] <- x[max(i-4,1),j]
}
}
in diesem Fall zu tun
Was möchten Sie hier tun? Lag eine Variable? Und wie vermeidet man die 'for'-Schleife? – Jason
Ja, es sollte eine Verzögerung sein, aber auch '0,5 * (x [i, j] + x [max (i-4,1), j]) '. Ich habe versucht, 'apply' zu verwenden, aber ich weiß nicht, wie man es benutzt, wenn es auf einem Matrixindex basiert. – Stefano