Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.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_Date - Fatal编程技术网

R-将不同的日期格式强制转换为一种格式

R-将不同的日期格式强制转换为一种格式,r,date,R,Date,我导入了一个凌乱的电子表格,我想在R中处理它。有一个日期字段,它可能以三种方式出现在任意位置的任意顺序: 文本为ddt只需再次添加类,这也避免了警告: ddt <- "2018-01-01" ddn <- 43101 dde <- "43102" dd <- c(ddt,ddn,dde) coerce.Date <- function (dateVar, origin = "1900-01-01", format = "%Y-%m-%d"){ if(!ide

我导入了一个凌乱的电子表格,我想在R中处理它。有一个日期字段,它可能以三种方式出现在任意位置的任意顺序:


文本为ddt只需再次添加类,这也避免了警告:

ddt <- "2018-01-01"
ddn <- 43101
dde <- "43102"

dd <- c(ddt,ddn,dde)

coerce.Date <- function (dateVar, origin = "1900-01-01", format = "%Y-%m-%d"){
  if(!identical(grep("^[[:digit:]]*$", dateVar), integer(0))){
    out <- as.Date(as.numeric(dateVar),origin = origin, format = format)
  } else {
    out <- as.Date(dateVar, origin = origin, format = format)
  }
  return(out)
}

myDates <- lapply(dd, coerce.Date)

class(myDates) <- "Date"

myDates
dd <- c(ddt,ddn,dde)

dates <- lapply(dd,coerce.Date)

str(dates)

List of 3
 $ : Date[1:1], format: "2018-01-01"
 $ : Date[1:1], format: "2018-01-04"
 $ : Date[1:1], format: "2018-01-03"
unlist(dates)

[1] 17532 17535 17534
dates <- tibble(dates)

unnest (dates)

# A tibble: 3 x 1
  dates        
  <date>   
1 2018-01-01
2 2018-01-04
3 2018-01-03
ddt <- "2018-01-01"
ddn <- 43101
dde <- "43102"

dd <- c(ddt,ddn,dde)

coerce.Date <- function (dateVar, origin = "1900-01-01", format = "%Y-%m-%d"){
  if(!identical(grep("^[[:digit:]]*$", dateVar), integer(0))){
    out <- as.Date(as.numeric(dateVar),origin = origin, format = format)
  } else {
    out <- as.Date(dateVar, origin = origin, format = format)
  }
  return(out)
}

myDates <- lapply(dd, coerce.Date)

class(myDates) <- "Date"

myDates