Ниже приведен полный код того, как нам удалось объединить все файлы данных и получить там временные метки:
library(data.table)
file_list <- list.files() #list all the files in the directory
datalist <- vector('list', length(file_list)) #create datalist
timelist <- vector('list', length(file_list)) #create timelist
#create for-loop
#read data
#read time
#separate time
#define start- and endtime
#define time difference
#define time interval
#create vector with timestamps
#add timestamps to existing datafile
for (i in 1:length(file_list)) {
datalist[[i]] <- read.table(file_list[i], sep = ',', skip = 6, nrow = length(readLines(file_list[i]))-4-6, stringsAsFactors = FALSE)
timelist[[i]] <- read.table(file_list[i], sep = ',', skip = length(readLines(file_list[i]))-2, stringsAsFactors = FALSE)
timelist[[i]][1,1] <- gsub(' CTD turned on at ', '', timelist[[i]][1,1])
timelist[[i]][2,1] <- gsub(' CTD turned off at ', '', timelist[[i]][2,1])
starttime <- strptime(timelist[[i]][1,1], format = '%m/%d/%Y %H:%M:%S')
endtime <- strptime(timelist[[i]][2,1], format = '%m/%d/%Y %H:%M:%S')
diff <- difftime(endtime, starttime, unit = 's')
int <- diff/(nrow(datalist[[i]]) - 1)
extratime <- seq(starttime, endtime, by = int)
datalist[[i]] <- cbind(datalist[[i]], extratime)
print(i)
}
dt1 <- rbindlist(datalist)
dt2 <- as.data.frame(dt1)
colnames(dt2) <- c('mmho/cm', 'celcius', 'dbars', 'hz', 'datetime')
write.table(dt2, 'M1traveller.csv', quote = FALSE, sep = ',', row.names = FALSE)