按R中的变量填充数据帧日期
我有一个10家医院的虚拟数据集,记录了该医院在某一特定日期有多少工作。日期是每周记录的,缺少日期意味着该周没有工作按R中的变量填充数据帧日期,r,dataframe,R,Dataframe,我有一个10家医院的虚拟数据集,记录了该医院在某一特定日期有多少工作。日期是每周记录的,缺少日期意味着该周没有工作 set.seed(2020) df1 <- data.frame( Date = as.Date(sample( as.numeric(as.Date('2011-01-01')): as.numeric(as.Date('2013-04-14')), 10, replace = T), origin = '1970-01-01'), Hospital = sample(1
set.seed(2020)
df1 <- data.frame(
Date = as.Date(sample( as.numeric(as.Date('2011-01-01')): as.numeric(as.Date('2013-04-14')), 10, replace = T), origin = '1970-01-01'),
Hospital = sample(1:10,replace=T),
Jobs = rpois(10,2))
set.seed(2020年)
你一周的约会总是同一个工作日吗?您的示例数据随机绘制工作日。我有一个有效的解决方案,但前提是日期的工作日始终相同。如果不是这样,您将不得不做更多的工作来清理输入数据
生成在同一工作日采集的测试数据:
set.seed(2020)
df1 <- data.frame(
Date = as.Date(sample(c(as.numeric(as.Date('2011-01-01')),
as.numeric(as.Date('2011-12-17')),
as.numeric(as.Date('2012-04-21')),
as.numeric(as.Date('2012-09-15')),
as.numeric(as.Date('2011-04-16')),
as.numeric(as.Date('2013-04-14'))), 10, replace = T),
origin = '1970-01-01'),
Hospital = sample(1:10,replace=T),
Jobs = rpois(10,2))
比我使用的方法有效得多,谢谢!
date_df <- data.frame(Date = rep(seq(as.Date("2011/01/01"), by = "week",
length.out = 120),
times = 10),
Hospital = rep(1:10, each = 120))
library(dplyr)
df_join <- right_join(df1, date_df) %>%
mutate(Jobs = ifelse(is.na(Jobs), 0, Jobs))