11

ts オブジェクトを取らないベクトルで関数を使用する必要があります。私はそれを普通の古いベクトルに変換しようとしていますが、それを理解できないようです。私はグーグルで調べましたが、ほとんどの人はデータ型を ts オブジェクトに変換しようとしています。向こうに行きたい。どんな助けでも大歓迎です。

4

1 に答える 1

20
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の特定の質問については、上記の2つのスニペットのいずれかが「[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)
于 2010-04-05T04:16:30.690 に答える