Cargar datos de Excel a R: ¿dates adicionales que aparecen en la primera columna?

En mi bash de cargar datos de Excel a R:

> book <- loadWorkbook(file.choose()) > signals = readWorksheet(book, sheet = "signals", header = TRUE) > signals 

que devuelve:

  time signal1 signal2 1 1899-12-31 08:30:00 0.43 -0.20 2 1899-12-31 08:31:00 0.54 0.33 3 1899-12-31 08:32:00 0.32 -0.21 

¿Por qué obtengo la columna con 1899-12-31? Esos definitivamente no están en la hoja de Excel. El rest es correcto

Encontré este párrafo en los documentos:

Forzar la conversión de Numérico a DateTime: dado que Excel entiende Dates / Times como Numericics con algún formatting adicional, una conversión de un Numérico a un DateTime es realmente posible. Los numbers en este caso representan el número de días desde 1900-01-00 (sí, ¡día 00! – vea http://www.cpearson.com/excel/datetime.htm ). Tenga en count que en R 0 se representa como 1899-12-31 ya que no hay 1900-01-00. Los días fraccionarios representan horas, minutos y segundos.

Esto parece arrojar algo de luz sobre el tema.

Aquí es cómo puede save un dataframe en un file de Excel y cargar el dataframe del file de Excel.

 library(lubridate) library(stringr) library(xlsx) #Creating time and date data t1 <- ymd_hms("2011-06-04 12:00:00") t2 <- ymd_hms("2011-06-05 11:00:00") t3 <- ymd_hms("2011-06-06 10:00:00") #Storing the time and date data in a data frame #Storing t1 df <- data.frame(NULL) df <- rbind(df, data.frame(t(strsplit(as.character(t1), " ")), stringsAsFactors = F)) colnames(df) <- c("V1") df <- str_split_fixed(df$V1, " ", 2) df <- gsub("[^0-9.:-]","",df) colnames(df) <- c("Date", "Time") #Storing t2 tmp <- data.frame(t(strsplit(as.character(t2), " ")), stringsAsFactors = F) colnames(tmp) <- c("V1") tmp <- str_split_fixed(tmp$V1, " ", 2) tmp <- gsub("[^0-9.:-]","", tmp) df <- rbind(df, tmp) #Storing t3 tmp <- data.frame(t(strsplit(as.character(t3), " ")), stringsAsFactors = F) colnames(tmp) <- c("V1") tmp <- str_split_fixed(tmp$V1, " ", 2) tmp <- gsub("[^0-9.:-]","", tmp) df <- rbind(df, tmp) #Writing the data frame to an Excel file write.xlsx(x = df, file = "df.xlsx", sheetName = "Sheet1", row.names = FALSE) #reading the data from the Excel file readDF <- read.xlsx("df.xlsx", sheetName="Sheet1")