提问人:Alokin 提问时间:11/1/2023 最后编辑:Alokin 更新时间:11/22/2023 访问量:36
R markdown 在 Mac 上无法编织到 html
R markdown won't knit to html on Mac
问:
我正在尝试在 mac 和 windows 上将 Rmarkdown 编织成 html。在此文件中,有大量文本数据正在使用 R 包 gt 处理成文本列。在 Windows 中,代码运行良好,没有任何问题。
当我尝试在 mac 上运行相同的代码时,出现以下错误:
Error in gsub("'", "'", html_tbl) : input string 1 is invalid
我知道问题出在哪里:文本字符串中有一个撇号,在原始数据中看起来像黑色菱形中的问号:
"...think a lot of us didn�t quite understand wh..."
我不明白的是,为什么代码在 ios 上失败而不是在 Windows 上失败;我能做些什么来解决这个问题并防止这个问题继续下去,如果可能的话,我该如何解决这个问题,以便传递给html输出的句子保持其原始含义和组成。
编辑:这是读取文件的方式:
df_import <- read_csv("file_path")
答:
1赞
Angelica Becerra
11/22/2023
#1
这似乎是编码问题。因此,您可以尝试使用编码来读取 csv。你应该做的是:
- 首先使用 uchardet 库检测编码
uchardet::detect_file_enc("csv_file.csv")
- 其次,使用编码读取文件,例如使用以下编码之一:
readr::read_csv2("csv_file.csv", locale = locale(encoding = "WINDOWS-1252"))
readr::read_csv2("csv_file.csv", locale = locale(encoding = "latin1"))
readr::read_csv2("csv_file.csv", locale = locale(encoding = "UTF-8"))
评论
1赞
Alokin
11/30/2023
你是对的,这是一个编码问题。我使用了 latin1 编码,这能够让我解决这个问题。不过,您链接的软件包 uchardet 已不在 CRAN 上。但是,readr 包有一个名为 guess_encoding 的函数,可以执行相同的操作。
评论
rmarkdown
rmarkdown
knitr
markdown
rmarkdown
readr
default_locale()