Я должен использовать функцию на векторе, который не берет объект ts. Я пытаюсь преобразовать его в простой вектор, но я просто, может казаться, не понимаю это. Я погуглил вокруг, но главным образом люди пытаются преобразовать типы данных в объект ts. Я хочу пойти другим путем. Любая справка ценилась бы.
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 - это вектор с тем же значения и длина как AP. Класс теперь числовой, а не ts, что отчасти означает, что индексы больше не являются чем-то вроде объекта даты и времени, а просто обычными последовательными целыми числами.
Итак, без конкретного вопроса в OP, любой из двух приведенных выше фрагментов будет « преобразовать [объект ts] в простой старый вектор »
Если вам нужно сделать то же самое с индексами вместо или в дополнение к значениям - то есть от объектов Date к числовым, вы можете сделать это следующим образом:
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)