我在C#中有一些时间序列数据,即测量(双倍)和DateTime形式的日期,目前为List<DateTime, double>
。
我正在使用通过NuGet安装的RDotNet软件包1.5版。
如何将我的时间序列放入R中以创建一些图并使用其中可用的工具执行其他计算。
以下是RDotNet示例中的一些代码,我可以使用它创建一个没有DateTimes的向量:
using RDotNet;
using System;
using System.IO;
namespace RTimeSeries
{
class RTimeSeriesTest
{
public static void createVector(double[] doublearray)
{
var envPath = Environment.GetEnvironmentVariable("PATH");
var rBinPath = @"C:\Program Files\R\R-3.0.1\bin\i386";
Environment.SetEnvironmentVariable("PATH", envPath + Path.PathSeparator + rBinPath);
using (REngine engine = REngine.CreateInstance("RDotNet"))
{
engine.Initialize();
var myvector = engine.CreateNumericVector(doublearray);
engine.SetSymbol("myvector", myvector);
}
}
public static void test()
{
createVector(new[] { 1, 2, 3, 4, 5.0, 6, 7, 8, 9, 10 });
}
}
}
将C#时间序列转换为R时间序列的最佳方法是什么?
我希望有一个ts
对象,如果可能的话。
-
我在Windows 64位上使用R版本3.0.1。我是从binary windows installer安装的。
-
我想从谷歌趋势发送数据,例如relative search interest for "NFL" in the US中的“nfl”。谷歌趋势提供了2004年的每周数据。然后,我想以某种方式转换系列具有(更多)恒定方差,然后估计变化的季节性部分,结果得到季节性部分和剩余(包括趋势)部分。
在R中我直接尝试创建这样的时间序列:
nfl.ts<-ts(data=searches$Searches, frequency=52.1775, start=c(2004,1))
因此忽略谷歌的日期并假设观察的统一分布。
一个问题,或许应该是另一个stackexchange站点上的另一个问题是如何处理分数频率,因为整数周不能完全适合一年。因此,一年中几周的频率会有所不同,特别是对于闰年。我该如何处理这个问题?
然后我尝试了
plot(stl(nfl.ts,s.window="periodic"))
但结果对于至少一些时间序列来说看起来不正确。