Векторизация цикла в R - PullRequest
5 голосов
/ 13 ноября 2010

Должен быть простой способ векторизовать следующий цикл в R, но я его не вижу.

w <- numeric(10)
z <- rnorm(20)
v <- c(sample(1:10,10),sample(1:10,10)) #Random ordering of c(1:10,1:10)
for(i in 1:10)
    w[i] <- sum(z[v==i])

Ответы [ 2 ]

11 голосов
/ 13 ноября 2010

другой подход

w = rowsum(z, v)
3 голосов
/ 13 ноября 2010

Вы можете использовать агрегат:
агрегат (z, by = list (v), sum)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...