R语言 以日期格式设置POSIX方案

krugob8w  于 2023-02-14  发布在  其他
关注(0)|答案(2)|浏览(178)

创建一个POSIX日期格式的变量15Aug1947和15Aug2018,求出自2018年8月15日独立以来的天数。
需要在R语言编码。

DATE1 <- c("15Aug1947")
DATE2 <- c("15Aug2018")
X <- as.Date(DATE1, "%d/%m/%y") - as.Date(DATE2 , "%d/%m/%y")
print(X)
bvhaajcl

bvhaajcl1#

已经很接近了,但是还缺少一个小细节。as.Date中的第二个参数要求您 * 精确地 * 指定日期的格式。现在,你说你的日期是由15/08/1947组成的。2这有两个错误。3你的日期没有斜线,月份也不是整数,而是月份名称的缩写。解析此日期的正确方法是

> ps <- "%d%b%Y"
> DATE1 <- c("15Aug1947") 
> DATE2 <- c("15Aug2018") 
> X <- as.Date(DATE1, ps) - as.Date(DATE2 , ps) 
> 
> print(X)
Time difference of -25933 days

有关如何构造用于分析的字符串的更多信息,请参见?strptime
您可以使用包自动分析日期,例如lubridate

vmpqdwk3

vmpqdwk32#

下面的代码可能会有帮助!

#Create a variable of value 15Aug1947 and 15Aug2018 in POSIX Date format
dt <- c(as.POSIXct("15Aug1947", format = "%d%b%Y"),as.POSIXct("15Aug1948", format = "%d%b%Y"))
#Finding the number of days elapsed
difftime(dt[2], dt[1], units = "days")

#Time difference of 25933 days

相关问题