我在R中的字符向量编码不一致时遇到问题
我从中读取表格的文本文件被编码(通过Notepad++)UTF-8(我也尝试UTF-8 without BOM过).
我想从这个文本文件中读取表,转换它data.table,设置key并使用二进制搜索.当我试图这样做时,出现以下情况:
警告消息:在
[.data.table(poli.dt,"żżonymi",mult ="first")中:在连接列中检测到已知编码(latin1或UTF-8).data.table比较当前的字节数,因此不支持 混合编码; 即,使用latin1和UTF-8,或者如果任何未知编码是非ascii,其中一些已标记为已知而其他未标记.但是如果单独使用latin1或UTF-8,并且所有未知编码都是ascii,那么结果应该没问题.将来我们会检查你,如果一切正常,请避免这个警告.棘手的部分是这样做而不会影响ascii唯一案例的性能.
和二进制搜索不起作用.
我意识到,我的data.table- key列包括两个:"未知"和"UTF-8"编码类型:
> table(Encoding(poli.dt$word))
unknown UTF-8
2061312 2739122
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下方法转换此列(在创建data.table对象之前):
Encoding(word) <- "UTF-8"word<- enc2utf8(word)但没有效果.
我还尝试了几种不同的方法将文件读入R(设置所有有用的参数,例如encoding = "UTF-8"):
data.table::fread utils::read.tablebase::scancolbycol::cbc.read.table但没有效果.
我的R.version:
> R.version
_
platform x86_64-w64-mingw32
arch x86_64
os mingw32
system x86_64, mingw32
status
major 3
minor 0.3
year 2014
month 03 …Run Code Online (Sandbox Code Playgroud)