有时当我将文本文件导入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
有什么好方法可以避免这种情况吗?谢谢你的帮助。
答案 0 :(得分:4)
您需要使用以下内容:
ts_data <- read.csv("yr_wk sales.csv", fileEncoding="UTF-8-BOM", header=FALSE)
head(ts_data)
答案 1 :(得分:3)
当我使用Microsoft Word上的txt文件时出现此问题。我使用记事本将MS Word保存的文本中的数据复制到新的txt文件,问题解决了。
答案 2 :(得分:2)
很好,@ DarrenCook!
正如我在评论中所指出的,这是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")
如果这不能解决问题,请告诉我!