web-dev-qa-db-fra.com

Différence entre read.csv () et read.csv2 () dans R

Dans R, quelle est la différence entre read.csv () et read.csv2 ()

La documentation officielle dit,

Dans divers paramètres régionaux européens, comme la virgule sert de point décimal, la fonction read.csv2 doit être utilisée à la place

Qu'est-ce que ça veut dire. Je ne vois aucune différence au niveau superficiel. Quelqu'un peut-il donner un exemple concret pour le clarifier davantage?.

46
Anoop

Ce sont (presque) les mêmes fonctions - read.table. La seule différence réside dans les paramètres par défaut. Regardez le code source:

> read.csv
function (file, header = TRUE, sep = ",", quote = "\"", dec = ".", 
    fill = TRUE, comment.char = "", ...) 
read.table(file = file, header = header, sep = sep, quote = quote, 
    dec = dec, fill = fill, comment.char = comment.char, ...)
<bytecode: 0x5e3fa88>
<environment: namespace:utils>
> read.csv2
function (file, header = TRUE, sep = ";", quote = "\"", dec = ",", 
    fill = TRUE, comment.char = "", ...) 
read.table(file = file, header = header, sep = sep, quote = quote, 
    dec = dec, fill = fill, comment.char = comment.char, ...)
<bytecode: 0x5c0a330>
<environment: namespace:utils>

Du doc ​​(voir ?read.table):

read.csv et read.csv2 sont identiques à read.table à l'exception des valeurs par défaut. Ils sont destinés à la lecture des fichiers de "valeurs séparées par des virgules" (".csv") ou (read.csv2) la variante utilisée dans les pays qui utilisent une virgule comme point décimal et un point-virgule comme séparateur de champ.

46
bartektartanus