R语言随机日期生成报错:'origin' must be supplied 求助
问题解决:Kaggle中生成随机日期的'origin must be supplied'错误
错误原因
你的代码里,as.Date.numeric转换基于自定义原点(1942-01-01)的随机数值时,没有明确指定origin参数。本地RStudio可能因环境或版本兼容未触发错误,但Kaggle的R环境对参数完整性要求更严格,因此报错。
修正后的代码
在as.Date.numeric中补充指定origin = "1942-01-01"即可解决问题:
#4. Generate 45764 random dates set.seed(45001) #setting a seed to ensure the dates are reproducible rd_dates <- as.Date.numeric( runif(45764, as.Date("1942-02-01", origin = "1942-01-01"), as.Date("2023-10-01", origin = "1942-01-01")), origin = "1942-01-01" ) #generate the random dates
更简洁的兼容写法(可选)
你也可以直接基于R默认原点(1970-01-01)转换日期数值,无需额外指定origin,代码兼容性更强:
set.seed(45001) start_date <- as.Date("1942-02-01") end_date <- as.Date("2023-10-01") rd_dates <- as.Date(runif(45764, as.numeric(start_date), as.numeric(end_date)))
内容的提问来源于stack exchange,提问作者kckamac
相关产品推荐
相关产品推荐

