空数据框中的R日期时间格式

时间:2018-07-19 16:05:37

标签: r datetime dataframe format

我正在尝试在R中设置一个空数据框,该数据框除其他外将由两个日期时间戳组成,例如2014年8月21日20:51。

这是我的代码:

eventised <- data.frame(student_id=integer(),
                        session_id=integer(), 
                        start_ts=as.POSIXct(format = "%d/%m/%Y %H:%M"), 
                        stop_ts=as.POSIXct(format = "%d/%m/%Y %H:%M"),                         
                        week=integer(),
                        macro_process=character(),
                        micro_process=character(),
                        stringsAsFactors=FALSE) 

raw_events <- read.csv(file="SRL_Concat_ST1_Test_2.csv", header = TRUE, sep=",") 

last_sess_ID <- 0

for (row in 1:nrow(raw_events)) {
  if(raw_events[row, "SESSION_ID"] != last_sess_ID || row == nrow(raw_events)) {
    print(row)
    if(row !=1) {
      eventised[nrow(eventised)+1,] <- c(r_student_id, r_session_id, r_start_ts, r_stop_ts, r_week, "MAC", "MIC")
#      eventised[nrow(eventised)+1,] <- c(r_student_id, r_session_id, r_week, "MAC", "MIC")
    }

    r_student_id <- raw_events[row, "STUDENT_ID"]
    r_session_id <- raw_events[row, "SESSION_ID"]
    r_start_ts <- raw_events[row, "TIMESTAMP"]
    r_stop_ts <- raw_events[row, "TIMESTAMP"]
    r_week  <- raw_events[row, "WEEK"]
    last_sess_ID <- raw_events[row, "SESSION_ID"]
  } else {
    r_stop_ts <- raw_events[row, "TIMESTAMP"]
  }

我收到此错误: 继承(x,“ POSIXct”)中的错误:   参数“ x”丢失,没有默认值

然后,我尝试执行以下操作:           eventised [nrow(eventised)+1,] <-c(r_student_id,r_session_id,r_start_ts,r_stop_ts,r_week,“ MAC”,“ MIC”)

我得到: charToDate(x)中的错误:   字符串不是标准的明确格式

我可能在做一些愚蠢的事情,但我会非常感谢您的帮助。

预先感谢

F

数据

STUDENT_ID SESSION_ID TIMESTAMP LACTION_TYPE星期学习模式 4 7 11/08/2014 23:08 CONTENT_ACCESS 3正在重新访问

2 个答案:

答案 0 :(得分:1)

感谢您的帮助。

我决定暂时将时间戳记视为字符串。就我的任务而言,现在还可以。当最终将数据帧输出为CSV时,我将必须确保正确处理它。但是现在...

答案 1 :(得分:0)

这应该注意日期时间格式:

df <- data.frame(start_ts=as.POSIXct(character()))