パッケージを使用して R に読み込もうとしているいくつかの Excel ファイルがありますreadxl
。Excel ファイルは、変数の 4 つの列を持つ 60000 行の各タブで構成されています。最初の列は、0、1、2 などの秒を追跡するための単純な整数カウントです。2 番目の列は:
、HH:MM:SS でコロン ( ) で区切られた時間です。/
3 番目の列は、 MM/DD/YYYY としてスラッシュで区切られた ( ) 日付です。4 番目の列は浮動小数点数 (338.6 など) です。
次のコードを使用すると、4 つの列が得られ、一部の書式は一貫していますが、一部のデータは、整数、時刻、または日付ではなく、日付または 10 進数として誤って解釈されているように見えます。
> data1 <- lapply(excel_sheets("./file_name.xls"),
read_excel, path = "./file_name.xls",
col_names = FALSE)
> head(data1[[1]])
X1 X2 X3 X4
1 502342 02:12:50 02/04/2015 338.6
2 502341 02:12:49 02/04/2015 338.1
3 502340 02:12:48 02/04/2015 337.5
4 502339 02:12:47 02/04/2015 337.6
5 502338 02:12:46 02/04/2015 337.5
6 502337 02:12:45 02/04/2015 338.0
> head(data1[[2]])
X1 X2 X3 X4
1 483664 08:56:48 488774 08:52:22
2 08:49:32 08:56:47 488774 08:52:22
3 185.2 08:56:46 488774 485475
4 483663 08:56:45 488774 08:52:22
5 08:49:31 08:56:44 488774 08:52:22
6 483662 08:56:43 488774 485475
> class(data1[[2]]$X1)
[1] "character"
> mode(data1[[2]]$X1)
[1] "character"
> tail(data1[[1]])
X1 X2 X3 X4
59995 08:49:35 08:56:54 488774 08:52:22
59996 483666 08:56:53 488774 485475
59997 08:49:34 08:56:52 488774 08:51:50
59998 185.3 08:56:51 488774 08:51:50
59999 483665 08:56:50 488774 485475
60000 08:49:33 08:56:49 488774 485475
> tail(data1[[2]])
X1 X2 X3 X4
59995 09:29:17 497592 488774 488206
59996 485927 497591 488774 488206
59997 09:29:16 497590 488774 488206
59998 485926 363.0 488774 488206
59999 09:29:15 12:49:37 488774 488206
60000 485925 497588 488774 488206
またcol_types
、列の型を定義するために使用しようとしましたが、これは NA でいっぱいのデータ フレームを返します。
> data1 <- lapply(excel_sheets("./file_name.xls"),
read_excel, path = "./file_name.xls",
col_names = FALSE,
col_types = c("numeric", "numeric", "date","numeric"))
There were 50 or more warnings (use warnings() to see the first 50)
> head(data1[[1]])
X1 X2 X3 X4
1 NA NA <NA> NA
2 NA NA <NA> NA
3 NA NA <NA> NA
4 NA NA <NA> NA
5 NA NA <NA> NA
6 NA NA <NA> NA
lapply()
withを使用するとread_excel()
、データ フレームのリストが返されます。変数の型を変更しようとする必要があるかどうか、またはこれを正確に行う方法がわかりません。Excel ファイル自体は、変数の型に関して一貫しているように見えます。data1[[2]]
X2 の 363.0 を示す 59998行も確認しましたが、03:42:51 である必要があります。
これらのデータを Excel でフォーマットするか、R で変更する必要がありますか? 現在、すべてがクラスのキャラクターのようです。Rで変数の型を変更する最も効果的な方法は何ですか?
ご協力いただきありがとうございます。