导入R

时间:2015-11-13 14:35:57

标签: r csv character-encoding special-characters

以下图片显示了在导入R(导航记录)和导入之后数据的处理方式。

enter image description here

我使用以下命令将其导入R:

Data <- read.csv('data.csv',stringsAsFactors = FALSE,header = TRUE,quote = "")

可以看出,诸如ae之类的特殊字符被替换为类似A |的东西(左边第19行,第18行或右边)。有没有办法导入CSV文件? (使用R)

1 个答案:

答案 0 :(得分:2)

您的问题是编码问题。这有两个方面:首先,Notepad ++保存的内容可能与您在保存的文本文件中所期望的编码不对应,其次,R可能正在使用基于不同的read.csv()读取文件编码,这是特别可能的,因为如果您使用Notepad ++,那么这表明您使用的是Windows,因此您可能无法将UTF-8作为R的系统区域设置。

所以轮流讨论每个问题:

  1. 让Notepad ++以特定的编码保存文件。您可以在此处使用these instructions为新文件设置编码。我总是使用UTF-8,但是因为你的文本是丹麦语,所以拉丁语-1也应该用。

    要验证文本的编码,您可能希望使用RTools附带的file实用程序。这将告诉您一些关于文件可能从命令行编码的信息,尽管它并不完美。 (OS X和Linux用户已经拥有此功能,无需安装其他实用程序。)

  2. 将.csv文件导入R时设置编码。使用read.csv()导入文件时,请指定encoding = "UTF-8"encoding = "Latin-1"。您可能还想检查系统编码是什么,并与之匹配。您可以使用Sys.getlocale()执行此操作(并将其设置为Sys.setlocale()。)例如,在我的系统上:

    > Sys.getlocale()
    [1] "en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8"
    

    您当然可以将其设置为Windows-1252,但如果在其他平台上使用此功能,则可能会遇到麻烦。 UTF-8是最好的解决方案。