如何将excel日期格式转换为r中的正确日期
您可以使用以下方法将 Excel 日期格式转换为 R 中的适当日期:
方法 1:将 Excel 数字转换为 R 中的正确日期
df$date <- as. Date (df$date, origin = " 1899-12-30 ")
方法 2:将 Excel 数字转换为 R 中正确的日期/时间
library (openxlsx)
df$datetime <- convertToDateTime(df$datetime)
以下示例展示了如何在实践中通过名为sales_data.xlsx的 Excel 文件使用每种方法,该文件包含以下数据:
示例 1:将 Excel 数字转换为 R 中合适的日期
下面的代码展示了如何使用基础R中的as.Date()函数将Excel文件的日期列中的数值转换为R中适当的日期:
library (readxl) #import Excel file into R as data frame df <- read_excel(" C:\\Users\\bob\\Documents\\sales_data.xlsx ") #view data frame df # A tibble: 10 x 3 date datetime sales 1 44563 44563. 14 2 44566 44567. 19 3 44635 44636. 22 4 44670 44670. 29 5 44706 44706. 24 6 44716 44716. 25 7 44761 44761. 25 8 44782 44782. 30 9 44864 44864. 35 10 44919 44920. 28 #convert Excel number format to proper R date df$date <- as. Date (df$date, origin = " 1899-12-30 ") #view updated data frame df # A tibble: 10 x 3 date datetime sales 1 2022-01-02 44563. 14 2 2022-01-05 44567. 19 3 2022-03-15 44636. 22 4 2022-04-19 44670. 29 5 2022-05-25 44706. 24 6 2022-06-04 44716. 25 7 2022-07-19 44761. 25 8 2022-08-09 44782. 30 9 2022-10-30 44864. 35 10 2022-12-24 44920. 28
请注意,日期列值现在已格式化为正确的日期。
示例 2:将 Excel 数字转换为 R 中适当的日期/时间
以下代码展示了如何使用R中openxlsx包的convertToDateTime()函数将Excel文件的日期时间列中的数值转换为R中相应的日期时间:
library (readxl) library (openxlsx) #import Excel file into R as data frame df <- read_excel(" C:\\Users\\bob\\Documents\\sales_data.xlsx ") #view data frame df # A tibble: 10 x 3 date datetime sales 1 44563 44563. 14 2 44566 44567. 19 3 44635 44636. 22 4 44670 44670. 29 5 44706 44706. 24 6 44716 44716. 25 7 44761 44761. 25 8 44782 44782. 30 9 44864 44864. 35 10 44919 44920. 28 #convert Excel datetime to proper datetime in R df$datetime <- convertToDateTime(df$datetime) #view updated data frame df # A tibble: 10 x 3 date datetime sales 1 44563 2022-01-02 04:14:00 14 2 44566 2022-01-05 12:15:00 19 3 44635 2022-03-15 15:34:00 22 4 44670 2022-04-19 09:45:00 29 5 44706 2022-05-25 10:30:00 24 6 44716 2022-06-04 10:15:00 25 7 44761 2022-07-19 01:13:00 25 8 44782 2022-08-09 02:15:00 30 9 44864 2022-10-30 04:34:00 35 10 44919 2022-12-24 21:23:00 28
请注意,日期时间列值现在已格式化为正确的日期。
注意:您还可以使用openxlsx包中的ConvertToDate()函数将数字日期转换为 R 中的适当日期。
其他资源
以下教程解释了如何在 R 中执行其他常见任务:
如何将Excel文件导入到R中
如何在 R 中将数据框导出到 Excel 文件
如何在 R 中将数据框导出到多个 Excel 工作表