2
readr
パッケージを使用している列を読み込み中に正しい種類に解析したいとします。"cols()"と "col_double"を小数点記号としてコンマを使用する方法
難易度:フィールドはセミコロン(;
)で区切られ、カンマ(,
)は小数点として使用されます。だから、
library(readr)
# Test data:
T <- "Date;Time;Var1;Var2
01.01.2011;11:11;2,4;5,6
02.01.2011;12:11;2,5;5,5
03.01.2011;13:11;2,6;5,4
04:01.2011;14:11;2,7;5,3"
read_delim(T, ";")
# A tibble: 4 × 4
# Date Time Var1 Var2
# <chr> <time> <dbl> <dbl>
# 1 01.01.2011 11:11:00 24 56
# 2 02.01.2011 12:11:00 25 55
# 3 03.01.2011 13:11:00 26 54
# 4 04:01.2011 14:11:00 27 53
、私はパースの事は次のように働くだろうと思ったが、私はいつも、エラーメッセージを取得しています:
read_delim(T, ";", cols(Date = col_date(format = "%d.%m.%Y")))
# Error: expecting a string
同じここに:
read_delim(T, ";", cols(Var1 = col_double()))
# Error: expecting a string
私は私がやっていると思います根本的に間違っていた。 ;)
また、read_delim
にカンマを小数点として理解させるためのヒントをいただきたいと思います。 read.delim
はdec = ","
でかなり簡単に実行できますが、最初から "readr" -Packageを使いたいと思っています。以前のバージョンにはcol_euro_double
という機能がありましたが、削除されました。今の選択肢は何ですか?
おかげで、使用しているとき
locale=
を指定します!私は 'col_double()'呼び出しの中で 'locale'を設定しようとしました。 'cols(Date = col_date(format ="%d。%m。%Y "))'を使用しているときに 'エラー:文字列を期待しています 'というメッセージが表示される理由を教えてください。 – Pelleああ、すでにそれを持っています: 'col_types = cols(日付= col_date(形式="%d。%m。%Y "))' – Pelle