R将文字强制转换为数字

时间:2019-07-15 10:26:07

标签: r date text numeric

我正在R中导入一个excel文件。该文件包含两个日期列。在excel中,这些格式设置为日期(dd-mm-yyyy)。

在R中导入文件,我收到以下警告消息:

In read_fun(path = enc2native(normalizePath(path)), sheet_i = sheet,  :
  Coercing text to numeric in D1497 / R1497C4: '0.0000'

值分别为42710、42678等。

我需要使用这些列作为日期。

我尝试使用as.Date()mdy()之类的命令,但是结果是这些值然后被NA代替。

我从tidyxl包中尝试了is_date_format,但得到了FALSE。

你能帮我吗?有什么建议吗?

非常感谢您

PS:这是excel中两列的一些值:

from_unixtime('%d/%m/%Y')   from_unixtime('%d/%m/%Y')
 06/12/2016                      06/12/2018
 04/11/2016                      08/09/2017
 04/11/2016                      08/09/2017
 01/12/2016                      08/09/2017
 15/02/2017                      08/09/2017

1 个答案:

答案 0 :(得分:0)

在R中,日期变量存储为数字向量。因此,R使用一些原始日期,例如01.01.1900(dmy),并根据该数字在日期中添加天数。一个简单的示例:数字1将是02.01.1900,因为这是起点1之后01.01.1900天。例如,请参见here

您可以做的是尝试上面提到的起源。那应该是:

dates <- as.Date(your_vector_with_numbers, origin= "1900-01-01")

但是我实际上更喜欢Grada Gukovic暗示的解决方案,而我会首先尝试正确处理日期。为了帮助您,我们需要知道如何加载数据。