Я пытался запустить мой R-скрипт безуспешно.
Что я не понимаю, так это то, что я смог запустить его для других файлов, но не для этого.
Целью кода является добавление 1 к «num» каждый раз, когда временное смещение в столбце «Date.time» превышает 10 минут.
Итак, вот код:
#Exemple of data.frame from where I started
data <- data.frame(Day=c(13,13,13,13,12), Month=c("05","05","05","05","06"),Year=c(2009,2009,2009,2009,2009), Time=c("15:13","15:23","15:33","17:53","17:24"),num=c(1,1,1,1,1))
#Creation of colomn "Date" to merge colomns "Day", "Month", "Year" together. Then merging "Date" and "Time" in the "Date.time" colomn.
data$Date <- paste(synchro$Day,synchro$Month,synchro$Year, sep="/")
data$Date.time <- paste(synchro$Date, synchro$Time, sep=" ")
#Change format of "Date.time" with as.POSIXct, so it's considered as a time colomn.
synchro$Date.time <- as.POSIXct(synchro$Date.time,format="%d/%m/%Y %H:%M",tz="")
#Then try the "if" statement to add 1 everytime the timeshift in colomn "Date.time" is more than 10 minutes.
for(i in 2:nrow(synchro))
{if(as.numeric(synchro$Date.time[i] - synchro$Date.time[i-1])!=10)
{synchro$num[i] = (synchro$num[i-1])+1}
else{synchro$num[i] = synchro$num[i-1]}
}
#Should return something like this:
data <- data.frame(Day=c(13,13,13,13,12), Month=c("05","05","05","05","06"),Year=c(2009,2009,2009,2009,2009), Time=c("15:13","15:23","15:33","17:53","17:24"),num=c(1,1,1,2,3))
Я пытался изменить формат столбца Date.time, но он всегда возвращает следующее сообщение об ошибке:
Ошибка в if (as.numeri c (synchro $ Date.time [i] - synchro $ Date.time [i - 1])!!: Пропущенное значение, где требуется TRUE / FALSE
Может кто-нибудь помочь мне найти проблему с моим кодом, пожалуйста?!
Заранее спасибо!