【问题标题】:Converting European to American Number format in R在R中将欧洲数字格式转换为美国数字格式
【发布时间】:2019-04-05 09:12:54
【问题描述】:

我正在尝试使用保存为 .csv 文件但实际上是的文件;划定的。小数点是逗号。 行示例:

SAA1;6,022367813;10,9403136;5,807354922;3,169925001;3,807354922;8,636624621;5,247927513;5,459431619;9,09011242;4,247927543;4,247927513;4, ,247927513; 4,584962501; 4,584962501; 11,17492568; 4,754887502; 6,85798095; 7,409390936; 7,499390936; 7,499845887; 8,224001674; 10,19967234; 9,6,638435914; 4,700439714; 6,14974712; 2,807354922 ;0;7,348728154;4,700439718;6,820178962;4,700439718;6,044394119;1,584962501;6,044394119;6,375039431;3,807354922;9,0879862841;5648;5648 ;8,330916878;6,62935662;5,169925001;6,442943496;2,321928095;8,312882955;9,240791332;2,807354922;9,06608919;6,5391581861;5,64658, ,700439718;6,108524457;7,539158811;6,658211483;8,982993575;5,285402219;8,744833837

我需要将这些数据读入 R,然后将其作为小数点为“。”的数字使用。

这是我尝试过的:

read.csv2("filename.csv", row.names=1, sep=";",dec=",")

这几乎奏效了。大多数数字都用句点正确读入。但是,某些列中的所有数字仍然用逗号分隔。我试图解决这个问题:

temp<-sub(",", ".", data)

但是,这并不完全奏效。它截断了几个数字并完全破坏了其他数字。我不知道为什么。

我也试过用 Sublime 文本打开文件。我找到并用句号替换了所有逗号。这再次适用于大多数数据,但有几个数字再次损坏。

我还尝试在不更改逗号分隔性质的情况下读取文件,将其写入句点分隔然后再次读取。

temp<-read.csv2("filename.csv", row.names=1, sep=";")
write.csv2(temp, "filename_edited", sep = ";", dec=".", row.names = TRUE, col.names = TRUE)
temp2 <- read.csv2("filename_edited", sep=";", row.names=1) 

这也不起作用。 (我并不惊讶,我越来越绝望了。)

我做错了什么?我该如何解决?

【问题讨论】:

  • 我在读取您的示例文件时没有问题:read.csv2("filename.csv", header = F, sep = ";", dec = ",") 或图书馆(读者); read_csv2("filename.csv", col_names = F) 并且输出被正确转换。如果这对您不起作用,我认为您需要共享更多数据,以便重现您的问题。
  • 您也可以尝试使用readr package: library(readr); read_csv2("filename.csv") 读取文件,看看是否能解决问题。

标签: r csv import


【解决方案1】:

一个常见问题与数字前后的尾随空格有关(例如,“342,5”,而不是“342,5”)。您是否尝试过使用strip.white=TRUE 参数,例如:

read.csv2("filename.csv", row.names=1, sep=";", strip.white=TRUE)

如果您以其他方式预处理数据,trimws() 在这种情况下也可能有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多