2016-07-07 15 views
1

とに変換するとき、私はread.zooデータにいくつかのデータを読み取ろうとするが、常にいくつかのエラーを取得しています:R:明白な形式の動物園を読んで、「as.POSIXct」

Error in as.POSIXlt.character(x, tz, ...) : 
    character string is not in a standard unambiguous format 

コードは次のとおりです。

ログの
df_zoo <- read.zoo("mydata.csv", 
       header = TRUE, 
       sep = ";", 
       index = 1:2, 
       FUN = paste, 
       FUN2 = as.POSIXct, 
       format = "%d.%m.%Y %H:%M:%S", 
       tz = "UTC", 
       dec = ",") 

最初の行は

DATE;TIME_UTC;#1;#2;#3 
14.06.2016;12:15:11;TRUE;TRUE;43,2 
14.06.2016;12:15:12;TRUE;TRUE;43,3 
14.06.2016;12:15:13;TRUE;TRUE;43,3 
... 

私はCSVでの日付を変更することができ

ですが、それ寿Rで実行可能になり、私はそれ以上のCSVのためにそれを変更したくありません。また

as.POSIXct(paste("14.06.2016","12:15:11"), format = "%d.%m.%Y %H:%M:%S", tz = "UTC") 

がうまく働いている:

[1] "2016-06-14 12:15:11 UTC" 

私は、問題が表示されません。

答えて

0

あなたが唯一のcol1とcol2のを貼り付け機能を定義するために1つのFUN行が必要:

FUN = function(d,t) as.POSIXct(paste(d,t),format = "%d.%m.%Y %H:%M:%S",tz = "UTC”)

だから、動物園のオブジェクトとして、あなたのファイルをインポートする:

df_zoo <- read.zoo("mydata.csv", 
       header = TRUE, 
       sep = ";", 
       index = 1:2, 
       FUN = function(d,t) as.POSIXct(paste(d,t),format = "%d.%m.%Y %H:%M:%S",tz = "UTC"), 
       dec = ",") 
+0

こんにちは、と感謝氏Vollmeier。 :)とにかく、FUNとFUN2の目的は何ですか? – ngn16920

+0

FUN2は、2ステップで実行したいより複雑な変換があれば便利です。 FUNは、FUNの後、 '集合体'の前に時間インデックスに適用されます。 '?read.zoo'を使ってより多くの情報を入手できます。 :-)提案された解決策が機能する場合は、投票の横にあるチェックマークをクリックして解決策を受け入れることを検討してください。 – hvollmeier

1

1)read.zoo自動的に複数列インデックスを貼り付けるので、これは機能し、FUN=はまったく使用されません。 zooはデータを行列として表しているので、この場合、論理は数値に変換されます。

library(zoo) 
read.zoo("mydata.csv", check.names = FALSE, 
    header = TRUE, sep = ";", comment = "", dec = ",", 
    index = 1:2, format = "%d.%m.%Y %H:%M:%S", tz = "") 

2)read.zooも、これは動作しますので、データフレームを読み、必要な引数の多くはread.csv2のデフォルト引数であるという事実を活用することができます。

d <- read.csv2("mydata.csv", check.names = FALSE) 
read.zoo(d, index = 1:2, format = "%d.%m.%Y %H:%M:%S", tz = "") 
関連する問題