14

有时当我将文本文件导入 R 时,我会将字符“”附加到第一列的第一个值。有人知道为什么吗?

例如具有以下值的文本文件:

2011_21,3130
2010_51,4153
2011_16,3168
2010_20,3945
2012_38,2099
2012_17,2436
2010_40,2090
2011_2 ,1462

在 R 中产生以下结果:

第一次我读了文件:

ts_data <- read.csv("yr_wk sales.csv", header=FALSE)
head(ts_data)

这是返回的数据:

 V1   V2
1 2011_21 3130
2    2010_51 4153
3    2011_16 3168
4    2010_20 3945
5    2012_38 2099
6    2012_17 2436

如何避免这种情况?

4

4 回答 4

13

You need to use the following:

ts_data <- read.csv("yr_wk sales.csv", fileEncoding="UTF-8-BOM", header=FALSE)
head(ts_data)
于 2018-01-18T09:37:42.663 回答
3

我在 Microsoft Word 上处理 txt 文件时遇到了这个问题。我使用记事本将MS Word保存的txt中的数据复制到一个新的txt文件中,问题就解决了。

于 2016-06-07T20:37:30.930 回答
2

正如我在评论中指出的那样,这是Byte Order Mark。这里有关于处理它的讨论( http://cran.r-project.org/doc/manuals/R-data.html )。

如果您知道文件编码,则可以对其进行排序。假设它是 UTF-8:

ts_data <- read.table("yr_wk sales.csv", fileEncoding = "UTF-8")
于 2013-03-14T00:19:46.497 回答
0

打开您的 Excel .csv 文件,转到文件、另存为...,然后将文件类型从“CSV UTF-8(逗号分隔)(.csv)”更改为“CSV(逗号分隔)( .csv)”文件类型。放下麦克风 - 轻松固定。

于 2021-11-02T16:14:13.610 回答