首页 > 解决方案 > 在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"
)

标签: r

解决方案


对于每个company我们都可以添加row_number()first date_chunk获取递增的日期序列。

library(dplyr)

df %>% 
  group_by(company) %>%
  mutate(date = first(date_chunk) + row_number() - 1)

推荐阅读