Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按R中的变量填充数据帧日期_R_Dataframe - Fatal编程技术网

按R中的变量填充数据帧日期

按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

我有一个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: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))