Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/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中的一个日期仅替换为几个数字字符?_R_Excel_Date_Numeric - Fatal编程技术网

有没有一种方法可以将R中的一个日期仅替换为几个数字字符?

有没有一种方法可以将R中的一个日期仅替换为几个数字字符?,r,excel,date,numeric,R,Excel,Date,Numeric,所以我在R中使用了这个代码: excel_numeric_to_date(as.numeric(as.character(sheet1$col4)), date_system = "modern") 将excel中的所有数字字符替换为日期,效果非常好!然而,我现在有一个工作表,其中一些日期显示为日期,一些是数字。例如: 2020年1月1日 38880 39239 2019年2月2日 等等 现在,当我使用相同的代码时,它会更改数字,但会删除日期。有人知道如何解决这个问题吗

所以我在R中使用了这个代码:

excel_numeric_to_date(as.numeric(as.character(sheet1$col4)), date_system = "modern")
将excel中的所有数字字符替换为日期,效果非常好!然而,我现在有一个工作表,其中一些日期显示为日期,一些是数字。例如:

  • 2020年1月1日
  • 38880
  • 39239
  • 2019年2月2日
  • 等等

现在,当我使用相同的代码时,它会更改数字,但会删除日期。有人知道如何解决这个问题吗?

利用akrun的灵感,你可以使用
合并
excel\u numeric\u的结果合并到日期
来自
看门人的
来自
lubridate的
dmy

如果最终更适合您的实际数据,您可以使用
mdy

library(janitor)
library(dplyr)
library(lubridate)
coalesce(excel_numeric_to_date(as.numeric(sheet1$col4)),
         dmy(sheet1$col4))
#[1] "2020-01-01" "2006-06-12" "2007-06-06" "2019-02-02"
样本数据

sheet1 <- structure(list(col4 = c("01/01/2020", "38880", "39239", "02/02/2019"
)), class = "data.frame", row.names = c(NA, -4L))

sheet1可能重复/相关谢谢!这成功了!在Akrun的回答下,它不知怎么地不起作用了。。。