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
我在 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