将txt文件导入R Studio包含不需要的BOM字符&引用;

将txt文件导入R Studio包含不需要的BOM字符&引用;,r,text,byte-order-mark,apriori,arules,R,Text,Byte Order Mark,Apriori,Arules,当我导入以下数据时,将其保存为UTF-8编码的Txt文件 1 test1 1 test2 2 test1 2 test3 在R-Studio中,我遇到了在结果表中显示BOM字符“ï»?”的问题。下面是我用来导入数据的代码 library(arules) library(arulesViz) txn <- read.transactions("r-test.txt",rm.duplicates= FALSE,format="single",sep="\t",cols =

当我导入以下数据时,将其保存为UTF-8编码的Txt文件

1   test1
1   test2
2   test1
2   test3
在R-Studio中,我遇到了在结果表中显示BOM字符“ï»?”的问题。下面是我用来导入数据的代码

library(arules)
library(arulesViz)

txn <- read.transactions("r-test.txt",rm.duplicates= FALSE,format="single",sep="\t",cols = c(1,2))
inspect(txn)

我发现,通过将文件保存为ANSI编码的txt文件,解决了这个问题

  items         transactionID
1 {test1,test2} 1            
2 {test1,test3} 2  
您可以使用以下r studio代码将文件转换为ANSI格式:

writeLines(iconv(readLines("Old File Name"), from = "UTF8", to = "ANSI_X3.4-1986"), 
           file("New File Name", encoding="ANSI_X3.4-1986"))

希望这能帮助其他人解决同样的问题。

read.transactions还有一个编码参数。尝试将其设置为“UTF8”


嗨,Michael,我实际上尝试过使用UTF8编码集以及带BOM的UTF8编码集。然而,这两项都没有纠正这个问题。感谢您的回答,并让我知道编码是否适合您。看起来我还需要添加编码以扫描read.transactions。我将在github上的arules开发版本中尝试这样做。不太确定这是否解决了问题。谢谢,这应该很好用。它一加上,我就试试看。
writeLines(iconv(readLines("Old File Name"), from = "UTF8", to = "ANSI_X3.4-1986"), 
           file("New File Name", encoding="ANSI_X3.4-1986"))
read.transactions(file, format = c("basket", "single"), sep = "",
              cols = NULL, rm.duplicates = FALSE, 
              quote = "\"'", skip = 0, 
              encoding = "unknown")