Вектор R теряет один компонент при прохождении - PullRequest
1 голос
/ 17 октября 2011
recursiveCall <- function(x, N)
{
    cat("length = ", length(x))
    cat("vector x = ", x[1:2^N], "\n")
    return (x)
}
PaulLevyBrownianMotion <- function(N)
{
    cat("Paul Levy construction for N = ", N, "\n")
    W = c(rnorm(2^N+1, 0, 1))
    cat("length = ", length(W))
    cat("Wstandard = ", W, "\n")
    W <- recursiveCall(W[1:2^N+1], N)
    return (W) 
}

Мой вектор W, похоже, потерял свой первый компонент при передаче другой функции. Не могли бы вы помочь мне с этим? Вот вывод.

> W = PaulLevyBrownianMotion(2)
Paul Levy construction for N =  2 
length =  5Wstandard =  0.08641454 1.616638 -0.8747996 0.6149899 0.2689501 
length =  4vector x =  1.616638 -0.8747996 0.6149899 0.2689501 
> 

1 Ответ

2 голосов
/ 17 октября 2011

W[1:2^N + 1] не индексирует то, что вы думаете из-за приоритета.Сначала строится вектор 1:2^N, а затем добавляется скаляр 1 (поэтому каждый элемент увеличивается на единицу), в результате чего выбираются элементы 2 до конца.

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