2016-12-30 5 views
0

ExcelのデータをRに追加 - 追加の日付は最初の列に表示されますか? RにExcelからデータをロードする私の試みで

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

返します:私は1899年12月31日でカラムを取得するのはなぜ

    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 

を?それらは間違いなくExcelシートにはありません。残りは正しい。

+0

私はあなたが 'ライブラリ(readxl)' – akrun

+0

から 'read_excel'を使用することができると思うが見えます。あなたはそれを使ってみましたか? [the docs](https://cran.r-project.org/web/packages/XLConnect/XLConnect.pdf)によると、 'rownames = NULL'は動作します。 –

+0

答えを組み込むためにあなたの質問を編集するのではなく、*答*(あなたが許可されるまで少し待たなければならないかもしれません)であなたの質問に答える方が良いです... –

答えて

2

私はドキュメントで、この段落を見つけました:数値からのDateTimeへの変換を強制

:Excelは、いくつかの追加の書式とNU-のmericsとして日付/時間を理解しているので、日時の数値からの変換は、AC tuallyです可能。この場合の数値は、1900-01-00(yes、day 00! - http://www.cpearson.com/excel/datetime.htmを参照)からの日数を表します。 1900-01-00が存在しないため、R 0は1899-12-31として表されることに注意してください。分数の日は時、分、秒を表します。

これは、この問題を明らかにしているようです。

0

データフレームをExcelファイルに保存し、そのデータフレームをExcelファイルからロードする方法は次のとおりです。 readWorksheet`は `rownames`引数を持つ`よう

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") 
関連する問題