当我将文本文件导入R时,我得到一个特殊字符附加到第一列的第一个值

ham*_*mel 7 r

有时当我将文本文件导入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
Run Code Online (Sandbox Code Playgroud)

在R中提出以下结果:

我在第一次阅读文件:

ts_data <- read.csv("yr_wk sales.csv", header=FALSE)
head(ts_data)
Run Code Online (Sandbox Code Playgroud)

这是返回的数据:

 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
Run Code Online (Sandbox Code Playgroud)

有什么好方法可以避免这个吗?谢谢你的帮助.

小智 5

您需要使用以下内容:

ts_data <- read.csv("yr_wk sales.csv", fileEncoding="UTF-8-BOM", header=FALSE)
head(ts_data)
Run Code Online (Sandbox Code Playgroud)


ale*_*han 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")
Run Code Online (Sandbox Code Playgroud)