使用 r 中的字符串将多列合并为一列

Combining multiple columns into one with strings in r

我有一个数据集,其中日期和时间分为多列,我希望将它们全部放入一列中进行绘制。任何帮助将不胜感激,到目前为止我的数据看起来像这样...

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

提前致谢。

我们可以使用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"

另一种方法使用 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=":")))