我有一个数据集,其日期和时间分为多个列,我希望将它们全部放入一列进行绘制。任何帮助将不胜感激,到目前为止,我的数据看起来像这样......
YY MM DD HH MM
2012 03 04 03 50
2012 03 04 03 40
2012 03 04 03 30
2012 03 04 03 20
2012 03 04 03 10
并希望它看起来像这样......
DateTime
2012-03-04 03:50
2012-03-04 03:40
2012-03-04 03:30
2012-03-04 03:20
2012-03-04 03:10
提前感谢。
答案 0 :(得分:4)
我们可以使用sprintf
df1$DateTime <-do.call(sprintf, c(df1,
list(fmt = '%04d-%02d-%02d %02d:%02d')))
df1$datetime
#[1] "2012-03-04 03:50" "2012-03-04 03:40" "2012-03-04 03:30" "2012-03-04 03:20" "2012-03-04 03:10"
答案 1 :(得分:0)
使用paste
的另一种方法。
text1 <- "YY MM DD HH MM
2012 03 04 03 50
2012 03 04 03 40
2012 03 04 03 30
2012 03 04 03 20
2012 03 04 03 10"
d1 <- read.table(text=text1, head=T, as.is=T, colClasses = rep("character", 5))
library(dplyr)
d1 %>% transmute(DateTime=paste(paste(YY, MM, DD, sep="-"),
paste(HH, MM.1, sep=":")))