私はまったく同じ問題を抱えています。これを解決するために、私はas.POSIXct()
を使ってデータフレームの列クラスを宣言しました。
例:あなたはそれに文字を書くことができます
> temp = data.frame(col1 = NA)
> str(temp)
'data.frame': 1 obs. of 1 variable:
$ col1: logi NA
:最初のデフォルトの列クラスが"logical"
であっても
> temp = data.frame(col1 = NA)
> temp[1,] = Sys.time()
> str(temp)
'data.frame': 1 obs. of 1 variable:
$ col1: num 1.4e+09
しかし興味深いことに
> temp = data.frame(col1 = as.POSIXct(NA,""))
> temp[1,] = Sys.time()
> str(temp)
'data.frame': 1 obs. of 1 variable:
$ col1: POSIXct, format: "2014-05-21 15:35:46"
、
> temp = data.frame(col1 = NA)
> temp[1,] = "hello"
> str(temp)
'data.frame': 1 obs. of 1 variable:
$ col1: chr "hello"
しかし、POSIXct
のように、あなたが書くことができない要因:また
> temp = data.frame(col1 = NA)
> temp[1,] = as.factor("hello")
> str(temp)
'data.frame': 1 obs. of 1 variable:
$ col1: int 1
は '編集()'と '修正が()'で(変数から日付クラスを削除し、文字に変換されることに注意してください少なくともR 2.12.0では)。それはなぜ私は知らないのですか? – caracal
あなたはスターです。ありがとう! –
このソリューションを使用したとき、私はoriginとtimezoneをコマンドに追加する必要がありました。 – userJT