Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中将YYYYMMDD转换为mm/dd/yyyy格式_R_Date_Dataframe - Fatal编程技术网

在R中将YYYYMMDD转换为mm/dd/yyyy格式

在R中将YYYYMMDD转换为mm/dd/yyyy格式,r,date,dataframe,R,Date,Dataframe,我在R中有一个数据框,它有两个变量是日期,我需要计算它们之间的天数差。但是,它们的格式为YYYYMMDD。如何将其更改为R中可读的日期格式?这应该可以 lubridate::ymd(given_date_format) 我喜欢anytime软件包中的anydate()。带实际数据的快速演示: R> set.seed(123) # be reproducible R> data <- data.frame(inp=Sys.Date() + cumsum(runif(10)

我在R中有一个数据框,它有两个变量是日期,我需要计算它们之间的天数差。但是,它们的格式为YYYYMMDD。如何将其更改为R中可读的日期格式?

这应该可以

lubridate::ymd(given_date_format)
我喜欢anytime软件包中的
anydate()
。带实际数据的快速演示:

R> set.seed(123)    # be reproducible
R> data <- data.frame(inp=Sys.Date() + cumsum(runif(10)*10))  
R> data$ymd <- format(data$inp, "%Y%m%d")     ## as yyyymmdd
R> data$int <- as.integer(data$ymd)           ## same as integer
R> library(anytime)
R> data$diff1 <- c(NA, diff(anydate(data$ymd)))   # reads YMD
R> data$diff2 <- c(NA, diff(anydate(data$int)))   # also reads int 
R> data
          inp      ymd      int diff1 diff2
1  2017-06-23 20170623 20170623    NA    NA
2  2017-07-01 20170701 20170701     8     8
3  2017-07-05 20170705 20170705     4     4
4  2017-07-14 20170714 20170714     9     9
5  2017-07-24 20170724 20170724    10    10
6  2017-07-24 20170724 20170724     0     0
7  2017-07-29 20170729 20170729     5     5
8  2017-08-07 20170807 20170807     9     9
9  2017-08-13 20170813 20170813     6     6
10 2017-08-17 20170817 20170817     4     4
R> 
R>set.seed(123)#可复制
R> 数据$ymd数据$int库(随时)
R> 数据$diff1数据$diff2数据
inp ymd int diff1 diff2
2017年6月23日20170623 20170623不适用
2  2017-07-01 20170701 20170701     8     8
3  2017-07-05 20170705 20170705     4     4
4  2017-07-14 20170714 20170714     9     9
5  2017-07-24 20170724 20170724    10    10
6  2017-07-24 20170724 20170724     0     0
7  2017-07-29 20170729 20170729     5     5
8  2017-08-07 20170807 20170807     9     9
9  2017-08-13 20170813 20170813     6     6
10 2017-08-17 20170817 20170817     4     4
R>
这里的第一列是我们工作的实际日期。然后生成第二列和第三列,以匹配OP的要求:YMD,字符或整数


然后,我们计算它们之间的差异,在没有前置数据的情况下解释第一个“丢失”的数据点差异,并显示这两种日期格式都有效。

as.date(df,format=“%m/%d/%Y”)
请使用
dput
向我们提供数据样本。正如@G5W所说,请阅读搜索
[r]转换日期格式< /代码>,我找到了几个可能的候选对象:也考虑使用软件包。