【发布时间】:2020-07-25 19:52:09
【问题描述】:
我需要使用一种不太流行的算法 (GMDH) 进行一些预测,该算法本质上是多项式神经网络。我找到了算法并且示例运行良好,当我尝试应用自己的数据集时出现问题。
所以我的数据是由 7 个值(5、5、6、7、8、9、18)组成的每日数据集,要将其转换为时间序列,我使用以下代码:
ts = ts(test, start=decimal_date(as.Date("2020-01-01")), frequency=365.25) test 是保存数据的df。
现在,当我将 ts 对象传递给算法时,我得到一个错误,指出 维数不正确,在调查基本上将我的数据集与示例数据(data(cancer))进行比较时,我看到我转换的 ts 对象与示例使用的 ts 对象不同,如下所示:
我想我的问题是如何将我的初始数据转换为我假设算法会接受的相同格式,甚至可能将我的 ts 对象转换或修改为与数据相同的格式(癌症)。如果您看不到差异,我的数据似乎在行中,而癌症数据值都在列中。对不起,我是 r 新手,我的术语不是很好。
您要求的有关数据的信息:
dput(head(cancer))
结构(c(100.4, 105.1, 109.4, 110.5, 116.9, 118.2), .Tsp = c(1930,
1935, 1), class= "ts")
dput(head(ts))
结构(c(5L,5L,6L,7L,8L,9L),.Dim = c(6L,1L),.Dimnames = 列表(
NULL, "V1"), .Tsp = c(2020, 2020.01368925394, 365.25), class= "ts"
我希望这是你要求的再次道歉
【问题讨论】:
-
你试过
dim(ts) <- NULL吗?此外,为了将来参考,而不是显示数据的屏幕截图,首选方法是通过dput(your_data)(或dput(head(your_data)))的输出;这对于那些试图提供帮助的人来说会提供更多信息。此外,虽然这不是当您谈论像cancer这样的包数据集时,这是绝对必要的,只有当我们知道数据集来自哪个包时,这部分才真正有帮助。 -
dim(ts) 和 dim(cancer) 都返回 null
-
如果这是真的,那么 真的 强调了我的观点,即您应该 edit 您的问题包括 R 命令
dput(ts)和dput(cancer)的输出(如果您告诉我们cancer数据来自哪个包,则不需要最后一个)。数据的dput()表示会自动为我提供该信息。 -
癌症数据来自 GMDH 包。 install.packages("GMDH") 库("GMDH") 数据(癌症)
-
谢谢;现在,minimal reproducible example 剩下的唯一问题是edit,您的问题是 (1) 包括 R 命令的输出
dput(ts),或 (2) 包括 您使用的完整代码 构造ts。您使用ts = ts(test, start=decimal_date(as.Date("2020-01-01")), frequency=365.25)接近第二个,但在不知道test的确切 结构的情况下,我们仍然不知道test的某些事情可能会影响您的问题的答案。
标签: r