Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.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 两次约会之间的差异_R - Fatal编程技术网

R 两次约会之间的差异

R 两次约会之间的差异,r,R,我有以下data.frame: employee <- c('John Doe','Peter Gynn','Jolie Hope','Peter') enddate <- c('2010-11-1','2008/3/25','2007-3-14','2007/9/21') startdate<- c('','20010101','20010504','19990221') employ.data <- data.frame(employee, enddate, star

我有以下data.frame:

employee <- c('John Doe','Peter Gynn','Jolie Hope','Peter')
enddate <- c('2010-11-1','2008/3/25','2007-3-14','2007/9/21')
startdate<- c('','20010101','20010504','19990221')
employ.data <- data.frame(employee, enddate, startdate)
employee我们可以使用
library(lubridate)
它可以采用多种日期格式。在本例中,“enddate”和“startdate”都具有相同的顺序,即
ymd

library(lubridate)
employ.data$Diff <- with(employ.data, as.numeric(ymd(enddate)-ymd(startdate)))
employ.data
 #    employee   enddate startdate Diff
 #1   John Doe 2010-11-1             NA
 #2 Peter Gynn 2008/3/25  20010101 2640
 #3 Jolie Hope 2007-3-14  20010504 2140
 #4      Peter 2007/9/21  19990221 3134
库(lubridate)
employ.data$Diff
employ.data$enddate
employ.data$enddate <- as.Date(gsub('/','-',employ.data$enddate));
employ.data$startdate <- as.Date(employ.data$startdate,'%Y%m%d');
employ.data;
##     employee    enddate  startdate
## 1   John Doe 2010-11-01       <NA>
## 2 Peter Gynn 2008-03-25 2001-01-01
## 3 Jolie Hope 2007-03-14 2001-05-04
## 4      Peter 2007-09-21 1999-02-21
employ.data$enddate - employ.data$startdate;
## Time differences in days
## [1]   NA 2640 2140 3134