【问题标题】:Get Random Days Based on the Month in R根据 R 中的月份获取随机天数
【发布时间】:2018-06-20 13:20:08
【问题描述】:

我希望能够生成随机 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

任何人都可以提供一些建议,以便我也可以得到其他日子。

谢谢

【问题讨论】:

    标签: r date sample


    【解决方案1】:

    要创建随机日期,您可以使用以下命令:

    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 次。如果您想要唯一的日期,请使用此代码。否则,在sample 函数中设置replace = TRUE。然后我使用gsub 将破折号替换为空字符串。例如,1947-11-01 变为 19471101。如果需要特定范围,可以更改采样日期。

    【讨论】:

    • 喜欢它,又好又简单
    猜你喜欢
    • 1970-01-01
    • 2014-05-22
    • 2012-01-08
    • 1970-01-01
    • 2011-10-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    相关资源
    最近更新 更多