R 更新一段时间的起始日期
是否可以根据另一列中的日期更新时间的起始日期?我有两列,一列有10行日期,另一列有10行时间,都有一个日期。我最初使用as.POSIX1t转换字符的时间,并尝试设置origin=df$Date,但没有成功。这个日期正好显示为今天的日期。如何将时间的起始日期重置为与日期列相同的日期?或者,是否可以删除附加到“我的时间”的日期,然后创建附加时间和日期列的新列? 我的数据: 和数据的str:R 更新一段时间的起始日期,r,date,R,Date,是否可以根据另一列中的日期更新时间的起始日期?我有两列,一列有10行日期,另一列有10行时间,都有一个日期。我最初使用as.POSIX1t转换字符的时间,并尝试设置origin=df$Date,但没有成功。这个日期正好显示为今天的日期。如何将时间的起始日期重置为与日期列相同的日期?或者,是否可以删除附加到“我的时间”的日期,然后创建附加时间和日期列的新列? 我的数据: 和数据的str: 'data.frame': 11 obs. of 2 variables: $ Date: Date,
'data.frame': 11 obs. of 2 variables:
$ Date: Date, format: "1999-05-10" "1999-05-11" "1999-05-12" "1999-05-13" ...
$ Time: POSIXlt, format: "2017-10-25 07:50:00" "2017-10-25 15:30:00" "2017-10-25 18:00:00" "2017-10-25 23:05:00" ...
假设原始日期和时间是字符数据类型:
df1 <- data.frame(date=c("2017-01-05"), time=c("2017-05-05 10:05:06"), stringsAsFactors = F)
timing <- strsplit(df1$time, split=" ")
timing <- sapply(timing, '[[', 2)
df1$time <- timing
df1$datetime <- paste(df1$date, df1$time)
df1$datetime <- as.POSIXct(df1$datetime)
需要查看您的实际数据才能获得更准确的答案。一些示例数据。对不起,我想我解释的方式已经足够好了。我将使用数据进行编辑粘贴我的数据。不管怎样,你的解决方案奏效了。忽略我上面的str,那是在我把时间转换成日期之后。所以,保持时间的性格,你的方法是伟大的。谢谢很高兴我能帮忙:
df1 <- data.frame(date=c("2017-01-05"), time=c("2017-05-05 10:05:06"), stringsAsFactors = F)
timing <- strsplit(df1$time, split=" ")
timing <- sapply(timing, '[[', 2)
df1$time <- timing
df1$datetime <- paste(df1$date, df1$time)
df1$datetime <- as.POSIXct(df1$datetime)