我在R中遇到一个我似乎无法弄清楚的错误。我正在创建一个R markdown文档,我在这里使用此代码读取了一个csv表。
iati <- read.csv(file="/filepath/IATI_NGOS.csv",head=TRUE,sep=",")
然后使用ggplot2我使用以下代码创建一个图。
figure_one <- ggplot(iati, aes(iati$reporting.org))+
geom_bar(fill="blue")+
ylab("Total Activities")+
xlab("NGO Reporting Organizations in IATI")+
ggtitle("Total Number of Activities compared to each NGO Reporting Organization in IATI")+
coord_flip()
当我尝试在R markdown中调用figure_one时,我收到以下错误:
Quitting from lines 44-55 (NGO_IATI.Rmd)
Error in gsub("(?<=\n)(?=.|\n)", continue, x, perl = TRUE) :
input string 1 is invalid UTF-8
Calls: <Anonymous> ... paste -> comment_out -> line_prompt -> paste -> gsub
In addition: Warning message:
In grep("\n", message) : input string 1 is invalid in this locale
Execution halted
当我在常规R脚本中运行此代码时,我绝对没有问题。我已经找到了一些答案,但无法弄明白。
谢谢!
答案 0 :(得分:1)
我刚刚在本地机器上全新安装了R和Rstudio来解决我的问题。我认为最近在我的本地环境中对Yosemite的更新给我为R markdown安装的TeX插件带来了很多问题。
答案 1 :(得分:0)
当我编织我的rmarkdown文档并发现** encoding是原因时,我遇到了同样的问题。
使用4.9.4
,read.csv
或fread
之类的函数时,您将读取列名。
临时解决方案是用英语重命名列名并重新保存数据文件。
这是R中的伪代码,以表明我的想法。
read_csv
在这里,新文件library(data.table)
library(tidyverse)
fread('yourfile.csv',encoding = 'UTF-8') %>%
purrr::set_names(c('x1','x2','x3')) %>%
write_excel_csv('yourfile_2.csv')
非常适合rmarkdown编织,而不会发生编码问题。