来自角色的POSIXct返回NA

时间:2018-06-08 15:11:11

标签: r na posixct

我有一段时间在excel中,当转换为R时,它是一个角色,看起来像这样0.59658.

我正在尝试转换为POSIXct,但它返回为带有NA的POSIXct。

teste <- as.POSIXct(test, format = "%H:%M")

我也试过teste <- as.POSIXct(test, format = "%H:%M:%S") 对于其他列,它工作正常,但不是这个..

更新: 我已经完成了解决方案,但第二个问题来自我需要的其余部分。

teste <- as.POSIXct(teste*24*60*60,"%H%M", origin="1970-01-01") 
teste <- format(as.POSIXct(teste, format = "%Y-%m-%d %H:%M:%S"), format="%H:%M")

现在,我想在2013-01-06中使用此命令粘贴日期向量,这是一个POSIXct:

teste<-as.POSIXct(paste(date, teste), format="%Y-%m-%d %H:%M:%S")

NA回来了

1 个答案:

答案 0 :(得分:0)

对于你究竟想要什么感到困惑,但这个功能出了什么问题:

df <- data.frame(number = c(0.59658, 0.59658, 0.59658, 0.59658, 0.59658), dates = c("2013-01-06", "2013-01-06", "2013-01-06", "2013-01-07", "2013-01-07"))
testing <- function(number, dates){
  teste <- as.POSIXct(number*24*60*60,"%H%M", origin="1970-01-01") 
  teste <- format(as.POSIXct(teste, format = "%Y-%m-%d %H:%M:%OS"), format="%H:%M")
  return(as.POSIXct(paste0(dates," ",teste)))
}

在执行testing(df$number, df$dates)时会给出以下内容:

 "2013-01-06 14:19:00 EST" "2013-01-06 14:19:00 EST" "2013-01-06 14:19:00 EST" "2013-01-07 14:19:00 EST" "2013-01-07 14:19:00 EST"