seqformat 在 R 中创建具有 NA 值的序列

seqformat creates sequences with NA values in R

我在 R 中使用 seqformat 来分析事件的顺序。

我有这个数据,例如,用于练习我有一个巨大的数据集,但我用它来理解函数格式:

   
 Location_Id     Event       Start_day    End_day   temp    year         
     1         Sever snow       6              12     4     2014          
     1         Medium snow      15             21     6     2016          
     2         Sever snow       7              8      3     2013

我使用了这个命令:

sts.data <- seqformat(df, from="SPELL", to="STS", id="Event", begin="Start_day", end="End_day", status="temp",limit=3)

当我 运行 命令时,我收到此消息

    [!!] max of 'end' column > limit! Sequences truncated at limit= 3     [>]

converting SPELL data into 2 STS sequences (internal format)

NA 值的输出如下

                 a1    a2    a3
Sever snow       NA    NA    NA       
Medium snow      NA    NA    NA

我不确定在所有事件中 end 参数是否需要大于 begin 参数,或者这不是问题所在。

请问为什么我不能成功创建这一系列事件?

limit参数设置序列的最大长度。在您的数据中,第一个有效信息是第 6 天,因此前三个位置(天)是 NA。

最新的有效信息是第 21 天。为避免截断序列,请设置 limit=21 或更大。另请注意,当 ID 不连续时,该函数可能会产生意外结果。由于您使用 Event 作为 ID,我将 df 的行按 Event 排序以使 ID 连续。

df <- read.table(header=TRUE, text = "
Location_Id     Event       Start_day    End_day   temp    year
     1         Sever.snow       6              12     4     2014          
     1         Medium.snow      15             21     6     2016          
     2         Sever.snow       7              8      3     2013
                 ")
## Event used as id: sort to make identical ids contiguous
df <- df[order(df[,"Event"]),]
sts.data <- seqformat(df, from="SPELL", to="STS", id="Event",
        begin="Start_day", end="End_day", status="temp",limit=21)
sts.data
#             a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21
# Medium.snow NA NA NA NA NA NA NA NA NA  NA  NA  NA  NA  NA   6   6   6   6   6   6   6
# Sever.snow  NA NA NA NA NA  4  3  3  4   4   4   4  NA  NA  NA  NA  NA  NA  NA  NA  NA