Как добавить новое значение к объекту XTS без создания нового

StackOverflow https://stackoverflow.com/questions/8339492

  •  26-10-2019
  •  | 
  •  

Вопрос

У меня есть объект XTS, например,

ts=xts(seq(10),seq(Sys.Date(),Sys.Date()+10,length.out=10))

и нужно добавить новую точку, например

(Sys.Date()+11, 11)

я пытался

ts[Sys.Date()+11] <- 11

Но это не работает. Я бы предпочел избегать создания нового объекта XTS. Есть ли элегантный способ сделать это.

Это было полезно?

Решение

Вы можете использовать c или же rbind на xts объект для добавления строк:

c(ts, xts(11, Sys.Date()+11))

РЕДАКТИРОВАТЬ :

Обратите внимание, что это создает предупреждение mismatched types: converting objects to numeric. Анкет Чтобы удалить предупреждение, сначала приступите к значению к числовому, например:

c(ts, xts(as.integer(11), Sys.Date()+11))

           [,1]
2011-12-01    1
2011-12-02    2
2011-12-03    3
2011-12-04    4
2011-12-05    5
2011-12-06    6
2011-12-07    7
2011-12-08    8
2011-12-09    9
2011-12-11   10
2011-12-12   11
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top