R组合日期和时间列,但将今天的日期混合到一起

时间:2017-07-23 07:29:10

标签: r date time

嗨,我有一个R的奇怪行为:

我有一个包含日期,时间和一些值的数据集:

Date       Time      Global_active_power
2006-12-16 17:24:00  4.216
2006-12-16 17:25:00  5.360
2006-12-16 18:24:00  6.216
2006-12-16 18:25:00  5.390
2006-12-17 07:24:00  3.216
2006-12-17 17:25:00  1.360
2006-12-17 17:24:00  2.216
2006-12-17 18:25:00  6.360

从前2列开始,我想构建一个包含1列中日期+时间的组合列 - 类似于:

Date       Time      Global_active_power  combinedTime
2006-12-16 17:24:00  4.216                2006-12-16 17:24:00

现在的问题是,在这样做时,我总是将今天的日期混合到其中:

Date       Time      Global_active_power  combinedTime
2006-12-16 17:24:00  4.216                2006-12-16 2017-07-23  17:24:00

这是我的代码:

Data$Date<- as.Date(Data$Date, "%d/%m/%Y")
Data$Time<-strptime(Data$Time, "%H:%M:%S")
Data1 <-subset(Data, (Date < "2007-02-03"  ) )
Data2 <-subset(Data1,(Date > "2007-01-31"  ) )   
t <- paste((Data2$Date), (Data2$Time))
Data2<-cbind(Data2,t)

在我的时间专栏中,我只有次。我认为我的问题来自于我在代码中运行此行:

 Data$Time<-strptime(Data$Time, "%H:%M:%S")

在那里,我突然得到今天的日期加上我的专栏时间。为什么?我只想要时间

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

问题确实在您预期的位置:

> strptime(Data$Time, "%H:%M:%S")
[1] "2017-07-23 17:24:00 CEST" "2017-07-23 17:25:00 CEST" "2017-07-23 18:24:00 CEST" "2017-07-23 18:25:00 CEST"
[5] "2017-07-23 07:24:00 CEST" "2017-07-23 17:25:00 CEST" "2017-07-23 17:24:00 CEST" "2017-07-23 18:25:00 CEST"
strptime还包括今天的日期,而不仅仅是时间。你可以像这样解决它:

Data$Combined = as.POSIXct(paste0(Data$Date,Data$Time))
相关问题