r - 如何将具有开始和结束时间列的行转换为 R 中的时间序列格式?
问题描述
我正在处理具有以下数据结构的无线电通信数据(P1-P5 是收件人列):
Index Onset Terminus Duration Sender Net P1 P2 P3 P4 P5
1 1 4 3 P1 N1 0 1 1 1 0
2 6 10 4 P2 N2 0 0 1 1 0
3 11 16 5 P3 N2 0 1 1 1 0
我正在尝试将数据转换为这样的结构:
Time Onset Terminus Duration Sender Net P1 P2 P3 P4 P5
1 1 4 3 P1 N1 0 1 1 1 0
2 1 4 3 P1 N1 0 1 1 1 0
3 1 4 3 P1 N1 0 1 1 1 0
4 1 4 3 P1 N1 0 1 1 1 0
5 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a
6 6 10 4 P2 N2 0 0 1 1 0
换句话说,格式化数据以进行时间序列分析,同时保留其他所有内容。看起来我需要为每个缺失的时间单位添加一行,并将“开始”和“终点”列扩展为单独的时间单位。我将不胜感激任何帮助!谢谢你,g
解决方案
这是一种方法,但我敢打赌有一种更短的方法:
library(tidyverse)
df %>%
uncount(Terminus - Onset + 1) %>%
group_by(Index) %>% mutate(instance = row_number()) %>% ungroup() %>%
mutate(Time = Onset + instance - 1) %>%
padr::pad_int("Time")
推荐阅读
- python - 仅压缩父文件夹内的子文件夹(python)
- .net - AWS Machine Learning Service in .NET Core
- python - Scrapy Xpath 返回 null 但在 Chrome 中工作正常
- ios - 根据联系电话分机i,将国家名称和国家代码设置为按钮标题文本。从联系人列表 swift ios 中获取时 +91
- android - 具有默认样式的自定义复选框
- firefox - TestNG acript 在 FireFox 浏览器上不起作用。在 Chrome 浏览器上工作的相同脚本。安装壁虎驱动
- php - 通过 api 运行脚本时出现 Google App Script Api 404 错误
- sas - 如何在SAS中打印两组并排的变量系列?
- c++ - 显示数组中的学生 ID 和最高分
- php - 如何知道codeigniter 4中的分页总页数