在r中将多个列合并为一个字符串

在r中将多个列合并为一个字符串,r,string,merge,multiple-columns,R,String,Merge,Multiple Columns,我有一个数据集,它将日期和时间分割为多个列,我希望将它们全部放在一个列中进行绘图。任何帮助都将不胜感激,到目前为止,我的数据如下 YY MM DD HH MM 2012 03 04 03 50 2012 03 04 03 40 2012 03 04 03 30 2012 03 04 03

我有一个数据集,它将日期和时间分割为多个列,我希望将它们全部放在一个列中进行绘图。任何帮助都将不胜感激,到目前为止,我的数据如下

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"

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

df1$DateTime使用粘贴的另一种方法

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=":")))

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

text1查看
paste()
查看
paste()
@OscarTheGrouch您可以使用
$
[
创建一个新列。更新帖子我必须等待5分钟才能接受您的解决方案,但非常感谢!@OscarTheGrouch没问题。谢谢feedback@OscarTheGrouch您可以使用
$
[
创建一个新列。更新了帖子。我需要等待5分钟才能接受您的解决方案,但非常感谢!@OscarTheGrouch没问题。感谢您的反馈