разделить матрицу на один столбец - PullRequest
0 голосов
/ 25 октября 2011

У меня есть многоколоночный xts, который я хотел бы разделить на один xts (конечно, используя дату в качестве первичного ключа).

Есть ли способ сделать это в векторизованном виде?

Спасибо

1 Ответ

8 голосов
/ 25 октября 2011

См. ?sweep (если я понимаю, что вы имели в виду - воспроизводимый пример!?):

data(sample_matrix)
sample.xts <- as.xts(sample_matrix, descr='my new xts object')
## create a matrix...
m <- sample.xts[, -1]
## ...and a vector from the sample.xts object
v <- sample.xts[, 1]
## apply sweep
out <- sweep(m, 1, v, "/")

Что дает:

> class(out)
[1] "xts" "zoo"
> head(out)
               High       Low     Close
2007-01-02 1.001559 0.9982141 1.0015587
2007-01-03 1.003810 1.0000000 1.0033281
2007-01-04 1.000000 0.9968898 0.9982428
2007-01-05 1.000000 0.9969739 0.9992283
2007-01-06 1.000000 0.9973506 0.9987421
2007-01-07 1.001666 0.9972022 0.9972022
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...