r - 如何转换数据帧的时间格式
问题描述
我有这个数据框:
structure(list(time = structure(c(1177345800, 1177408800, 1177410600,
1177412400, 1177414200), class = c("POSIXct", "POSIXt"), tzone = "UTC"),
open = c(148.09, 148.23, 148.03, 147.48, 147.51), high = c(148.12,
148.29, 148.04, 147.65, 147.78), low = c(148.05, 147.85,
147.38, 147.32, 147.43), close = c(148.06, 148.04, 147.48,
147.51, 147.77), volume = c(172700L, 8306934L, 21686377L,
10742987L, 6065554L)), row.names = c(NA, -5L), class = c("data.table",
"data.frame"), .internal.selfref = <pointer: 0x000001a7a5941ef0>)
如您所见,日期和时间统一在一列中。我想将它们分成两列。
我想要的最后一件事是转换时间格式:从“16:30:00”到“16:30”。我想消除所有行的最后一个“:00”
谢谢
解决方案
Since you have data.table
using data.table
syntax :
library(data.table)
df[, c('date', 'time') := list(as.Date(time), format(time, '%H:%M'))]
df
# time open high low close volume date
#1: 16:30 148.09 148.12 148.05 148.06 172700 2007-04-23
#2: 10:00 148.23 148.29 147.85 148.04 8306934 2007-04-24
#3: 10:30 148.03 148.04 147.38 147.48 21686377 2007-04-24
#4: 11:00 147.48 147.65 147.32 147.51 10742987 2007-04-24
#5: 11:30 147.51 147.78 147.43 147.77 6065554 2007-04-24
推荐阅读
- python - ImportError:无法导入名称 httputil
- tensorflow - nv-nsight-cu-cli 导致 TensorFlow 失败
- reactjs - Webpack:“有多个模块的名称只是大小写不同”但引用的模块是相同的“但我找不到错字
- rest - 如何在 drupal 8 的 Rest 视图中显示文章的选定分类
- push-notification - 在 Actions on Google 中向其调用意图发送推送通知标题
- c# - 使用任务并行库时如何修复跨线程错误?
- php - 我在托管服务中做 curl 有问题(godaddy)
- c++ - 与 QGIS C++ API 斗争
- c - 编译时出错,collect2: 找不到 ld
- azure - 通过流量管理器 URL 访问网站时出现错误 404