保留日期格式为R

问题描述 投票:0回答:1

我有一个数据集,其中包含一些员工的姓名,日期,数量和工作时间。示例数据集如下所示:

| Name    | Date | Amount | 10/1/2018 | 10/2/2018 | 10/3/2018 | 10/4/2018 | 10/5/2018 |
|---------|:----:|------:|-----------|-----------|-----------|-----------|-----------|
| Mike    |      |    50 | -         | -         | -         | -         | -         |
| Mike    |      |   167 | -         | -         | -         | -         | 8.0       |
| Mike    |      |   560 | -         | -         | -         | 8.0       | -         |
| Kristie |      | 467   | -         | -         | -         | -         | -         |
| Kristie |      | 900   | -         | -         | -         | -         | -         |
| Kristie |      | 65    | -         | -         | -         | -         | -         |
| Kristie |      | 90    | -         | -         | -         | -         | -         |
| Kristie |      | 665   | -         | -         | -         | -         | -         |
| Kristie |      | 864   | -         | -         | -         | -         | -         |
| Joe     |      | 566   | -         | -         | -         | -         | -         |
| Joe     |      | 676   | -         | -         | -         | -         | -         |
| Joe     |      | 40    | 8.0       | -         | -         | -         | -         |
| Joe     |      | 45    | -         | -         | -         | -         | -         |

正如人们所看到的,“日期”列中的值为空白,并在各列中进行了解析。每天的日期范围是从10/1/2018到11/31/2019。因此,每个月的每个日期都显示在列中。如上例所示,这些日期的值在某些地方为“ 8”。该值表示工作小时数。当我在R中上传此excel文件时,日期将转换为字符,例如,“ 10/01/2018”将转换为“ 43374”,其他日期也将转换为字符。如何确定这些日期保留其原始格式?

r date data-conversion
1个回答
0
投票

Windows上的Excel(而不是Mac上的Excel)使用1899年12月30日的起源,并在其后数天。要转换日期数字,请使用此:

(daycount <- as.numeric("43374"))
# [1] 43374
(dayYMD <- as.Date(daycount, origin="1899-12-30"))
# [1] "2018-10-01"
(dayMDY <- format(dayYMD, "%m/%d/%Y"))
# [1] "10/01/2018"
© www.soinside.com 2019 - 2024. All rights reserved.