将数据框转换为 Farrington 算法的列表 algo.farrington
Convert dataframe to list for Farrington algorithm algo.farrington
我有以下示例数据框:
data.frame(WEEK=c(1:10),YEAR=2000,
NUMBER=c(0,1,4,25,9,7,4,2,9,12))
WEEK YEAR NUMBER
1 1 2000 0
2 2 2000 1
3 3 2000 4
4 4 2000 25
5 5 2000 9
6 6 2000 7
7 7 2000 4
8 8 2000 2
9 9 2000 9
10 10 2000 12
我想使用 R 中 surveillance
包中的 Farrington 算法 algo.farrington
。但是,为了这样做,我的数据必须是 class disProgObj 的对象。根据我在 surveillance 包的 PDF 中找到的示例,结果应该是一个列表。
有谁知道如何转换我的数据以便让算法正常工作?
是这样的吗?
library(surveillance)
x <- data.frame(WEEK=c(1:10),YEAR=2000,
NUMBER=c(0,1,4,25,9,7,4,2,9,12))
xsts <- sts(observed = x$NUMBER, start = c(2000, 1), frequency = 52)
sts2disProg(sts = xsts)
以上转换产生了一个 "disProg" 对象,打印如下:
-- An object of class disProg --
freq: 52
start: 2000 1
dim(observed): 10 1
Head of observed:
observed1
[1,] 0
为了处理此类数据,R 包 surveillance 提供了 S4 class "sts"(监视时间序列),它取代了 "disProg" class。要将您的数据转换为 "sts" 对象:
x <- data.frame(WEEK=c(1:10), YEAR=2000, NUMBER=c(0,1,4,25,9,7,4,2,9,12))
xsts <- sts(observed = x$NUMBER, start = c(2000, 1), frequency = 52)
xsts
产生:
-- An object of class sts --
freq: 52
start: 2000 1
dim(observed): 10 1
Head of observed:
observed1
[1,] 0
此 "sts" 对象可以通过 sts2disProg()
转换为过时的 "disProg" class,如 Roman 的回答所示。但是,这种转换不是必需的,因为函数 farrington()
可以直接与 "sts" 对象一起使用(它在内部调用 algo.farrington()
)。
包作者鼓励使用较新的 "sts" class 来封装计数时间序列。有关爆发检测工具的说明,请参阅 http://doi.org/10.18637/jss.v070.i10 上发布的软件包 vignette("monitoringCounts")
。
我有以下示例数据框:
data.frame(WEEK=c(1:10),YEAR=2000,
NUMBER=c(0,1,4,25,9,7,4,2,9,12))
WEEK YEAR NUMBER
1 1 2000 0
2 2 2000 1
3 3 2000 4
4 4 2000 25
5 5 2000 9
6 6 2000 7
7 7 2000 4
8 8 2000 2
9 9 2000 9
10 10 2000 12
我想使用 R 中 surveillance
包中的 Farrington 算法 algo.farrington
。但是,为了这样做,我的数据必须是 class disProgObj 的对象。根据我在 surveillance 包的 PDF 中找到的示例,结果应该是一个列表。
有谁知道如何转换我的数据以便让算法正常工作?
是这样的吗?
library(surveillance)
x <- data.frame(WEEK=c(1:10),YEAR=2000,
NUMBER=c(0,1,4,25,9,7,4,2,9,12))
xsts <- sts(observed = x$NUMBER, start = c(2000, 1), frequency = 52)
sts2disProg(sts = xsts)
以上转换产生了一个 "disProg" 对象,打印如下:
-- An object of class disProg --
freq: 52
start: 2000 1
dim(observed): 10 1
Head of observed:
observed1
[1,] 0
为了处理此类数据,R 包 surveillance 提供了 S4 class "sts"(监视时间序列),它取代了 "disProg" class。要将您的数据转换为 "sts" 对象:
x <- data.frame(WEEK=c(1:10), YEAR=2000, NUMBER=c(0,1,4,25,9,7,4,2,9,12))
xsts <- sts(observed = x$NUMBER, start = c(2000, 1), frequency = 52)
xsts
产生:
-- An object of class sts --
freq: 52
start: 2000 1
dim(observed): 10 1
Head of observed:
observed1
[1,] 0
此 "sts" 对象可以通过 sts2disProg()
转换为过时的 "disProg" class,如 Roman 的回答所示。但是,这种转换不是必需的,因为函数 farrington()
可以直接与 "sts" 对象一起使用(它在内部调用 algo.farrington()
)。
包作者鼓励使用较新的 "sts" class 来封装计数时间序列。有关爆发检测工具的说明,请参阅 http://doi.org/10.18637/jss.v070.i10 上发布的软件包 vignette("monitoringCounts")
。