当前位置: 首页 > 知识库问答 >
问题:

将时间序列对象转换为矩阵

乜思淼
2023-03-14

我正在尝试将时间序列对象转换为矩阵。

births <- scan("http://robjhyndman.com/tsdldata/data/nybirths.dat")

birthstimeseries <-ts(matrix(births, frequency=12, start=c(1946,1)))

此代码生成错误如下:

Error in matrix(births, start = c(1946, 1)) : 
  unused argument (start = c(1946, 1))

但是

出生时间序列

<代码>数据。矩阵(birthstimeseries)。它生成一维数据。如何将此数据帧的行数和列数保留到矩阵中。

我想要这样的结果作为一个矩阵。

    Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct    Nov    Dec
1946 26.663 23.598 26.931 24.740 25.806 24.364 24.477 23.901 23.175 23.227 21.672 21.870
1947 21.439 21.089 23.709 21.669 21.752 20.761 23.479 23.824 23.105 23.110 21.759 22.073

共有1个答案

林冥夜
2023-03-14

一种选择是将时间序列按循环(列索引)拆分为列表,然后将其绑定在一起并设置dimname

t2 <- do.call(cbind, split(t1, cycle(t1)))
dimnames(t2) <- dimnames(.preformat.ts(t1))
t2
#        Jan    Feb    Mar    Apr    May    Jun    Jul    Aug    Sep    Oct    Nov    Dec
#1946 26.663 23.598 26.931 24.740 25.806 24.364 24.477 23.901 23.175 23.227 21.672 21.870
#1947 21.439 21.089 23.709 21.669 21.752 20.761 23.479 23.824 23.105 23.110 21.759 22.073
#1948 21.937 20.035 23.590 21.672 22.222 22.123 23.950 23.504 22.238 23.142 21.059 21.573
#1949 21.548 20.000 22.424 20.615 21.761 22.874 24.104 23.748 23.262 22.907 21.519 22.025
#1950 22.604 20.894 24.677 23.673 25.320 23.583 24.671 24.454 24.122 24.252 22.084 22.991
#1951 23.287 23.049 25.076 24.037 24.430 24.667 26.451 25.618 25.014 25.110 22.964 23.981
#1952 23.798 22.270 24.775 22.646 23.988 24.737 26.276 25.816 25.210 25.199 23.162 24.707
#1953 24.364 22.644 25.565 24.062 25.431 24.635 27.009 26.606 26.268 26.462 25.246 25.180
#1954 24.657 23.304 26.982 26.199 27.210 26.122 26.706 26.878 26.152 26.379 24.712 25.688
#1955 24.990 24.239 26.721 23.475 24.767 26.219 28.361 28.599 27.914 27.784 25.693 26.881
#1956 26.217 24.218 27.914 26.975 28.527 27.139 28.982 28.169 28.056 29.136 26.291 26.987
#1957 26.589 24.848 27.543 26.896 28.878 27.390 28.065 28.141 29.048 28.484 26.634 27.735
#1958 27.132 24.924 28.963 26.589 27.931 28.009 29.229 28.759 28.405 27.945 25.912 26.619
#1959 26.076 25.286 27.660 25.951 26.398 25.565 28.865 30.000 29.261 29.012 26.992 27.897


is.matrix(t2)
#[1] TRUE

哪里

t1  <- birthstimeseries

 类似资料:
  • 本文向大家介绍将当前时间转换为java.sql.Date对象,包括了将当前时间转换为java.sql.Date对象的使用技巧和注意事项,需要的朋友参考一下 首先,创建一个Calendar类对象。 现在,导入以下软件包。 现在使用Date类并创建对象将属于上述包。将当前时间转换为java.sql.Date对象。 以下是一个示例。 示例 输出结果

  • 问题内容: 我有这个约会时间,或类似的东西。 我想将其转换为时间对象,但除了以下方面,我无法产生任何输出: 我已经尝试过以下布局: 还有更多-没有一个起作用。 这就是我所说的: 如何从字符串创建时间对象? 问题答案: 您很可能使用了错误的布局,并且没有检查返回的错误。 布局必须是此日期/时间,格式为您输入的时间为: 请参阅以下工作代码: 输出(在Go Playground上尝试): 编辑: 在您的

  • 我有一个熊猫列,其中包含时间数据和列数据类型是对象。 如何将列转换为Datatime

  • 问题内容: 我试图将字符串转换为日期时间对象。我从新闻提要中获取的字符串格式如下:“星期四,2014年10月16日美国东部时间01:16:17” 我尝试使用datetime.strptime()进行转换。即 并得到以下错误: 追溯(最近一次通话最近): 文件“”,第1行,位于datetime.strptime(’Thu,16 Oct 2014 01:16:17 EDT’,’%a,%d%b%Y%H:

  • 问题内容: 我对javascript并不太熟悉,而且令人赞叹,因为我无法向使用ORM名称Sequelize.js从数据库中获取的对象添加新属性。 为了避免这种情况,我使用此技巧: 因此,通常如何向对象添加新属性。 如果有帮助,我使用sequelize-postgres版本2.0.x。 更新。 console.log(节点): 接下来,我想您会想到的是:“好吧,很简单,只需将您的属性添加到dataV

  • 问题内容: Json字符串: C#类: C#将json转换为电影的c#列表: 我的变量最终是一个计数为0的空列表。我是否缺少某些内容? 问题答案: 您的C#类映射与json结构不匹配。 解决方案: