我有一个列时间的数据集(HH:MM:SS-ZZ)。时间是阶级因素。我想在数据集中为hour,min,sec(class:numeric)创建新列。我怎么能这样做..有什么想法?
答案 0 :(得分:1)
只需使用strsplit功能:
strsplit("23:52:23-09", "[:-]")
一个完整的例子:
a<-data.frame(Date=c("04:52:00-09", "03:22:23-09",
"23:00:23-09", "15:12:23-09"), Dummy=1:4)
b<-data.frame(strsplit(as.character(a$Date), "[:-]"))
colnames(b)<-c("HH", "MM", "SS", "ZZ")
应该这样做。
答案 1 :(得分:0)
创建一个因子日期时间变量来演示:
test <- as.factor(Sys.time())
加载lubridate包:
library(lubridate)
提取不同的部分:
hour(test)
minute(test)
second(test)