将R中的部分日期重置为默认的完成日期

时间:2018-10-16 16:38:58

标签: r date

我是在R中使用日期的初学者,并且想在字符串中完成部分日期。例如,我有以下日期:

x<- as.Date(c("2000-01-07", "2000", "2000-11"), format='%Y-%m-%d') 

我想将缺少月份的日期设置为6月,将缺少日期的日期设置为15日。看起来像这样:

x<- as.Date(c("2000-01-07", "2000-06-15", "2000-11-15"), format='%Y-%m-%d')

我正在尝试此操作,但不确定如何运行:

library(tidyr)
df %>%
mutate(Date = as.Date(x)) %>%
complete(Date = seq.Date(15), by="day")) 

1 个答案:

答案 0 :(得分:2)

在应用u=int(input("Number of users:")) puppy="" for i in range (0,u): upos=input("Position of User "+str(i+1)+":") upos_list=upos.split() upos_x=int(upos_list[0]) upos_y=int(upos_list[1]) p=input("Number of puppies for User "+str(i+1)+":") for j in range (0,int(p)): ppos=input("Position of Puppy "+str(j+1)+":") ppos_list=ppos.split() ppos_x=int(ppos_list[0]) ppos_y=int(ppos_list[1]) d=abs((ppos_x)-(upos_x))+abs((ppos_y)-(upos_y)) if d>10: puppy+="and Puppy %d (User %d) "%((j+1),(i+1)) if puppy=="": print("No puppies too far away") else: print(puppy[4:]+"too far away")

之前,我们可以使用正则表达式将其更改为完整的日期格式。
as.Date

数据

v2 <- sub("^(\\d{4}-\\d{2})$", "\\1-15", sub("^(\\d{4})$", "\\1-06-15", v1))
as.Date(v2)
#[1] "2000-01-07" "2000-06-15" "2000-11-15"