问题是,当我使用 R 从 excel 工作表读取数据时read.xlsx
from openxlsx
包,该TIME
列转换为分数。
这是一个例子,
dfin <-
DATE TIME
15/02/2015 8:00 AM
22/01/2014 10:00 PM
library(openxlsx)
test <- read.xlsx("dfin.xlsx", sheet = 1,
detectDates=TRUE, skipEmptyRows = TRUE,
skipEmptyCols = TRUE, rows = NULL, cols = NULL, check.names = FALSE,
namedRegion = NULL, na.strings = "NA", fillMergedCells = FALSE)
Output:
DATE TIME
2015-02-15 0.3333333
2014-01-22 0.9166667
我不确定为什么会这样做,以及是否有办法解决这个问题,因为我需要使用日期和时间来进行一些计算。
R确实没有时间格式,所以我建议在使用中阅读它read_excel
,它会自动检测列类型。这会将其转换为带有随机日期的日期时间格式,然后您可以将其删除,然后再将其转换为正确的时间戳。
library(readxl)
library(lubridate)
test <- read_excel('dfin.xlsx',trim_ws = TRUE) %>%
#return the TIME column to the way it is written in Excel
mutate(TIME = as.character(gsub(".* ","",TIME)),
#format the date column
DATE = dmy(DATE),
#turn it into a timestamp
TIMESTAMP = as.POSIXct(paste(DATE,TIME)))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)