从csv读取时,R/RStudio会更改列的名称

从csv读取时,R/RStudio会更改列的名称,r,csv,rstudio,R,Csv,Rstudio,我正在尝试使用以下命令(在RStudio中)在R中读取文件: fileRaw文件开头有一个。尝试读取为UTF-8,或从文件中删除BOM表 BOM的UTF-8表示为(十六进制)字节序列 0xEF、0xBB、0xBF。错误解释文本的文本编辑器或web浏览器 ISO-8859-1或CP1252将为此显示字符 编辑:看起来像是使用fileEncoding=“UTF-8-BOM”修复了RStudio中的问题。使用fileEncoding=“UTF-8-BOM”修复了我的问题,并且读取文件时没有问题 使用f

我正在尝试使用以下命令(在RStudio中)在R中读取文件:

fileRaw文件开头有一个。尝试读取为UTF-8,或从文件中删除BOM表

BOM的UTF-8表示为(十六进制)字节序列
0xEF、0xBB、0xBF
。错误解释文本的文本编辑器或web浏览器 ISO-8859-1或CP1252将为此显示字符


编辑:看起来像是使用
fileEncoding=“UTF-8-BOM”
修复了RStudio中的问题。

使用
fileEncoding=“UTF-8-BOM”
修复了我的问题,并且读取文件时没有问题


使用
fileEncoding=“UTF-8”
/
encoding=“UTF-8”
无法解决问题。

我在RStudio中以UTF-8的形式重新打开了文件,问题仍然存在。我建议使用
data.table::fread()
函数,该函数允许使用
check.names=T
选项检查标题名称(使用
make.names()
)@jackson5看起来RStudio无法正确处理/跳过BOM表。在这种情况下,另一种选择是在没有BOM的情况下重新保存文件(如果文件中没有特殊字符,则以纯文本形式保存)。我还建议使用notepad++打开csv,以便了解文件中的内容。诸如MS Excel之类的程序有时会隐藏csv的有用信息(例如空格)。我将该文件重新保存为ANSI.csv,这似乎已经解决了问题。谢谢。是R还是RStudio在做这个?在RStudio外部运行R(从操作系统命令行)以缩小范围。
fileRaw <- read.csv(file = "file.csv", header = TRUE, stringsAsFactors = FALSE)