0

我正在使用 Seatbelts ts 数据集,并希望将其转换为 tsibble,我可以在其中使用DriversKilledgrouped bylaw或包含law作为稍后使用的键。

使用

head(as_tsibble(Seatbelts))

按预期创建具有日期索引的 tsibble,但只有第一个 ts 变量(DriversKilled)作为键。

head(as_tsibble(Seatbelts, key=c(DriversKilled, law))

给了我同样的东西。如何从安全带 ts 对象中提取两个键?

4

1 回答 1

0

Seatbelts对象是一个多变量ts对象 ( mts)。

class(Seatbelts)
#> [1] "mts" "ts"

reprex 包(v0.3.0)于 2021-02-17 创建

key方法中不存在该选项,as_tsibble(<mts>)就像方法中存在的那样as_tsibble(<tibble>)。您可以通过以下方式了解有关如何使用as_tsibble()对象mts的更多信息:

?as_tsibble.mts

将此数据转换为 tsibble 的最合适方法是:

library(tsibble)
as_tsibble(Seatbelts, pivot_longer = FALSE)
#> # A tsibble: 192 x 9 [1M]
#>       index DriversKilled drivers front  rear   kms PetrolPrice VanKilled   law
#>       <mth>         <dbl>   <dbl> <dbl> <dbl> <dbl>       <dbl>     <dbl> <dbl>
#>  1 1969 Jan           107    1687   867   269  9059       0.103        12     0
#>  2 1969 Feb            97    1508   825   265  7685       0.102         6     0
#>  3 1969 Mar           102    1507   806   319  9963       0.102        12     0
#>  4 1969 Apr            87    1385   814   407 10955       0.101         8     0
#>  5 1969 May           119    1632   991   454 11823       0.101        10     0
#>  6 1969 Jun           106    1511   945   427 12391       0.101        13     0
#>  7 1969 Jul           110    1559  1004   522 13460       0.104        11     0
#>  8 1969 Aug           106    1630  1091   536 14055       0.104         6     0
#>  9 1969 Sep           107    1579   958   405 12106       0.104        10     0
#> 10 1969 Oct           134    1653   850   437 11372       0.103        16     0
#> # … with 182 more rows

reprex 包(v0.3.0)于 2021-02-17 创建


tsibble 中的“关键”变量应唯一标识时间序列。对于每个组合键,不能有任何时间重复。

在这个数据集中,有来自单个时间序列的 8 个不同的测量变量(随时间变化的事物)。因此,该数据集不应包含关键变量。

此数据的关键变量的一个示例可能是“国家/地区”。该Seatbelts数据集描述了英国的道路伤亡情况,但是如果它包含多个国家/地区,您可以考虑包含每个国家/地区的时间序列的数据。这将保证将“国家”指定为关键变量。可以在此处找到有关设置 tsibble 的更多详细信息:https ://otexts.com/fpp3/tsibbles.html

于 2021-02-17T11:42:26.110 回答