r - Excel 时间并不总是正确转换
问题描述
我正在从excel导入日期时间值,当在r中转换日期时间时,有些结果很好,有些结果是错误的。这是我的原始数据(来自excel):
time excel
1 43033.35662037037
2 43033.35662037037
3 43033.35662037037
4 43033.35662037037
5 43033.35663194444
6 43033.35663194444
7 43033.35663194444
8 43033.35663194444
9 43033.35664351852
10 43033.35664351852
11 43033.35664351852
12 43033.35664351852
13 43033.35665509259
14 43033.35665509259
15 43033.35665509259
16 43033.35665509259
17 43033.35666666667
18 43033.35666666667
19 43033.35666666667
20 43033.35666666667
21 43033.35667824074
这是我的代码:
raw_time$`time excel` = as.numeric(raw_time$`time excel`)
r_time <- data.frame(as.Date(raw_time$`time excel`, origin = "1899-12-30"))
colnames(r_time)<-"time R"
r_time$`time R` <- as.POSIXct(r_time$`time R` , format = "%d.%m.%Y %H:%M:%OS6")
这就是我得到的:
time excel time R
1 43033.35662037037 2017-10-25 10:33:32
2 43033.35662037037 2017-10-25 10:33:32
3 43033.35662037037 2017-10-25 10:33:32
4 43033.35662037037 2017-10-25 10:33:32
5 43033.35663194444 2017-10-25 10:33:33
6 43033.35663194444 2017-10-25 10:33:33
7 43033.35663194444 2017-10-25 10:33:33
8 43033.35663194444 2017-10-25 10:33:33
9 43033.35664351852 2017-10-25 10:33:34
10 43033.35664351852 2017-10-25 10:33:34
11 43033.35664351852 2017-10-25 10:33:34
12 43033.35664351852 2017-10-25 10:33:34
13 43033.35665509259 2017-10-25 10:33:34
14 43033.35665509259 2017-10-25 10:33:34
15 43033.35665509259 2017-10-25 10:33:34
16 43033.35665509259 2017-10-25 10:33:34
17 43033.35666666667 2017-10-25 10:33:36
18 43033.35666666667 2017-10-25 10:33:36
19 43033.35666666667 2017-10-25 10:33:36
20 43033.35666666667 2017-10-25 10:33:36
21 43033.35667824074 2017-10-25 10:33:37
如您所见,我得到 4 次 32"(什么是正确的),4 次 33" 什么也是正确的,但后来我得到 8 次 34" 什么是错误的(检查 excel 的原始值)。
我究竟做错了什么?感谢你的帮助...
解决方案
我认为当您转换为日期时,您会失去精度。通过将天数转换为秒数并使用as.POSIXct
.
df$Time_R <- as.POSIXct(df$time_excel * 60 * 60 * 24, origin="1899-12-30")
推荐阅读
- caching - 在不使用保护子句的情况下过滤 erlang ets 表
- javascript - Wavesurfer.js 不适用于 Vue 组件
- javascript - 如何在 jQuery/Java 脚本中调用动态 td 值
- python - 是否可以根据每日滚动标准偏差值计算总标准偏差
- javascript - Redux 表单同步字段级别验证无法使用复杂的字段名称?
- spring-boot - 带有布局集的 Vaadin Flow @Route 注释打破了布局样式
- ruby-on-rails - 对象的未定义方法“distance_of_time_in_words”
- python - 需要帮助将矩阵公式转换为 Python 代码
- java - 如何从 es256 pem 文件 java 中编码 jwtToken
- php - 不使用表单标签的 Ajax 表单