Converter um objeto TS (série temporal) em um vetor em r
-
24-09-2019 - |
Pergunta
Preciso usar uma função em um vetor que não pegue um objeto TS. Estou tentando convertê -lo em um vetor antigo simples, mas não consigo descobrir. Eu pesquisei no Google, mas principalmente as pessoas estão tentando converter tipos de dados em objeto TS. Eu quero ir para o outro lado. Qualquer ajuda seria apreciada.
Solução
data(AirPassengers) # already in your R installation, via package "datasets"
AP = AirPassengers
class(AP)
# returns "ts"
AP1 = as.numeric(AP)
# returns "numeric"
# another way to do it
AP1 = unclass(AP)
AP1 é um vetor com o mesmo valores e comprimento como ap. A classe agora é numérica em vez de TS, o que significa que, em parte, os índices não são mais algum tipo de objeto de data de data, mas apenas números inteiros seqüenciais comuns.
Então, com a pergunta específica no OP, qualquer um dos dois trechos acima "converter [um objeto TS] em um vetor antigo simples"
Se você precisar fazer a mesma coisa com o índices Em vez de, ou além dos valores-, a partir de objetos de data para numérico, você pode fazer isso assim:
fnx = function(num_days_since_origin, origin="1970-01-01") {
as.Date(num_days_since_origin, origin="1970-01-01")
}
a = as.Date("1985-06-11")
a2 = as.numeric(a)
# returns: 5640
a3 = fnx(5640)
# returns: "1985-06-11" (a date object)