r - 在R中对一组日期进行排序
问题描述
我希望生成一些整洁的数据。
每天观察 26 家公司,为期 10 天。每天记录一个值。
第一天是:2020/1/1
如何创建日期列表,以便日期框架的日期列的前 26 行是“2020/1/1”(年、月、日),接下来的 26 行是“2020/1/2”等等
这是没有日期列的数据框:
library(tidyverse)
set.seed(33)
date_chunk <- rep(as.Date("2020/1/1"), 26)
# Tidy data. 10 sequential days starting 2020/1/1/
df <- tibble(
company = rep(letters, 10),
value = sample(0:5, 260, replace = TRUE),
color = "grey"
)
解决方案
对于每个company
我们都可以添加row_number()
以first
date_chunk
获取递增的日期序列。
library(dplyr)
df %>%
group_by(company) %>%
mutate(date = first(date_chunk) + row_number() - 1)