R:如何用逗号作为 Dec 分隔符和 Field 分隔符读取数字? "The two arguments to fread 'dec' and 'sep' are equal (',')."

R: How to read in numbers with comma as a Dec separator & a Field separator? "The two arguments to fread 'dec' and 'sep' are equal (',')."

这部分与以所谓的欧洲方式读取文件有关,更多的是 How to read in numbers with a comma as decimal separator?。我有一行数据,例如 "Invoice","1324","Name","John","Age","10","Height","143,5","Products","1;2;3;4","ProductIDs","01;02;03;04",其中逗号充当字段值的分隔符,在字段值内部,用双引号分隔,逗号充当小数点分隔符。

在字段值内部,分号也充当其他分隔符,但我们现在可以排除这种观察,并专注于正确地首先读取文件,逗号在不同的地方具有不同的含义。

如何在 R 中以逗号作为小数分隔符和字段分隔符读取数字?

根据您读取文件的方式,可能可以使用 dec 参数。以下是我使用 data.table:

的方法
dat <- fread('"Name", "Age"
              "Joe", "1,2"')
dat[, Age := as.numeric(gsub(",", ".", Age))]

#    Name Age
# 1:  Joe 1.2

这个怎么样?

read.table("file.name", sep=",", quote = "\"", dec=",")