r - R将文本强制转换为数字
问题描述
我在 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
解决方案
在 R 中,日期变量存储为数字向量。所以 R 使用一些原始日期,如01.01.1900
(dmy) 并根据数字在日期中添加天数。一个简单的例子:数字1
将是02.01.1900
,因为这是1
在 origin 之后的一天01.01.1900
。例如,请参见此处。
你可以做的是尝试上面提到的起源。那将是:
dates <- as.Date(your_vector_with_numbers, origin= "1900-01-01")
但我实际上更喜欢 Grada Gukovic 可能暗示的解决方案,我会首先尝试正确处理日期。为了帮助您,我们需要知道您如何加载数据。
推荐阅读
- loops - PipelinePilot Loop 脚本含义
- python - 元素不可交互
- javascript - 来自colorzilla编辑器的CSS错误线性渐变
- r - 在保持 SpacyR + Quanteda 中的填充的同时选择具有特定 POS 标签的单词的最佳方法是什么?
- python-3.x - 使用 HDBCLI / DBAPI 将 Pandas 数据帧上传到 HANA 数据库
- pandas - 我想删除特定行并从 1 重新开始值
- reactjs - 如何禁用 Material 的暗模式 - UI
- java - 错误:插入新数据@ManyToMany 时“表中不存在键”
- reactjs - 重新渲染子组件并在父状态更改时更改子状态状态
- python - 数量增加百分比第 2 部分