умножение всех элементов вектора в R - PullRequest
29 голосов
/ 21 июня 2010

Я хочу, чтобы функция возвращала произведение всех значений в векторе, например, sum, но с умножением вместо сложения. Я ожидал, что это уже существует, но если это произойдет, я не могу найти это. Вот мое решение:

product <- function(vec){
    out <- 1
    for(i in 1:length(vec)){
         out <- out*vec[i]
    }
    out
}

Это ведет себя так, как я хочу. Например:

> product(1:3)
[1] 6

Есть ли лучший способ сделать это, либо с помощью существующей функции, либо путем улучшения этой пользовательской функции?

1 Ответ

56 голосов
/ 21 июня 2010

Вы хотите prod:

R> prod(1:3)
[1] 6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...