LoginSignup
10
8

More than 5 years have passed since last update.

R の read.csv() と read.csv2() の違い #rstatsj

Posted at

R には CSV ファイルを読み込むための関数として、read.csv()read.csv2() の 2 つの関数があります。
これらの違いは何なのでしょうか?

違いを調べたところ、ヨーロッパには小数点をカンマで表す地域があり、それらの地域では CSV のフォーマットがそもそも違い、ヨーロッパ式の CSV を読み込むための関数が read.csv2() なのだそうです。

日本で一般的な CSV フォーマットは、区切り文字がカンマですが、小数点をカンマで表す地域では、区切り文字がセミコロンになります。

read.csv()read.csv2() の違いは、それぞれの関数の中身を見るとわかりやすいです。

read.csv()の中身
read.table(file, header = TRUE, sep = ",", quote = "\"", 
           dec = ".", fill = TRUE, comment.char = "", ...)
read.csv2()の中身
read.table(file, header = TRUE, sep = ";", quote = "\"", 
           dec = ",", fill = TRUE, comment.char = "", ...)

sep パラメータ(区切り文字)と dec パラメータ(小数点文字)が違うだけだということがわかります。

それでは実際にやって確かめてみましょう。

test.csv
A,B,C
3.1,4.1,5.9
2.6,5.3,5.8
9.7,9.3,2.3
R
read.csv("test.csv")
結果
    A   B   C
1 3.1 4.1 5.9
2 2.6 5.3 5.8
3 9.7 9.3 2.3

ヨーロッパ式。

test2.csv
A;B;C
3,1;4,1;5,9
2,6;5,3;5,8
9,7;9,3;2,3
R
read.csv2("test2.csv")
結果
    A   B   C
1 3.1 4.1 5.9
2 2.6 5.3 5.8
3 9.7 9.3 2.3

確かにそのようですね。

以上です。

参考

Difference between read.csv() and read.csv2() in R - Stack Overflow

10
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8