我希望能够生成随机的YYYMMDD变量
我尝试过:
Day=ifelse(substr(o1$Month,6,7) %in% c(1,3,5,7,8,10,12),sample(c(paste0('0',1:9),10:31),1),
ifelse(substr(o1$Month,6,7) == 2,sample(c(paste0('0',1:9),10:28),1),sample(c(paste0('0',1:9),10:30),1)))
以根据月份生成随机的一天。请注意,o1$Month
是YYYY-MM格式。但是结果都是一样的。
> table(o1$Day)
25
55
任何人都可以提供一些建议,以便我也可以得到其他日子。
谢谢
答案 0 :(得分:0)
要创建随机日期,可以使用以下命令:
gsub("-", "", sample(seq(as.Date("1900-01-01"),
as.Date("2000-12-31"),
by = "day"), 10))
#[1] "19700214" "19910824" "19640205" "19531101" "19020116" "19360823" "19791019" "19520713" "19890408" "19220327"
在这里,我创建了两个日期(1900/01/01和2000/12/31)之间的日期序列,然后从它们中随机采样10次。如果您想要唯一的日期,请使用此代码。否则,请在replace = TRUE
函数中设置sample
。然后,我使用gsub
将破折号替换为空字符串。例如,1947-11-01
变为19471101
。如果需要特定范围,可以更改要采样的日期。