r - seqformat 在 R 中创建具有 NA 值的序列
问题描述
我seqformat
在 R 中使用来分析事件的顺序。
例如,我有这些数据用于练习,我有一个巨大的数据集,但我用它来理解函数格式:
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 不连续时,该函数可能会产生意外结果。由于您使用的是 id,因此我对byEvent
的行进行排序以使 id 连续。df
Event
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
推荐阅读
- java - 屏幕截图未显示在范围报告中
- php - 更新查询不采用整数变量
- mongodb - 将图片上传到 mongoDB 并取回图片的 url:Multer
- javascript - Discord.js 新的高级命令处理程序不允许前缀中的空格
- java - 保存到数据库返回所有用户数据,包括编码密码
- intel-oneapi - 错误:无法创建输出文件已处理 0 帧
- java - 发布 APK(React Naitve 0.64) 未安装到 Sumsung Galaxy A40 和 S7
- javascript - 刷新后jquery记住togle类
- r - 将行的每个项目除以特定值
- python - 在 df 列/列表中搜索字符串的最快方法