У меня есть таблица данных, в которой некоторые поля копируются и вставляются из текстовых документов. При попытке вывода xtable гравюр из RMarkdown, то получите эту ошибку:print xtable gsub locale problems
Error in gsub("&", "&", result, fixed = TRUE) :
input string 3 is invalid in this locale
Calls: <Anonymous> ... eval -> eval -> print -> print.xtable -> sanitize -> gsub
Execution halted
Вот воспроизводимый пример. Я назвал это dataframe test4:
library(xtable)
test4 <- structure(list(Record.ID = 81, Record.Type = "Type1", Short.Description = "specify 2-8\xb0C storage location",Record.State = "Work in Progress", Owner = "person1", Due.Date = "2014-08-14",days.left = -24), row.names = c(NA, -1L), .Names = c("Record.ID","Record.Type","Short.Description", "Record.State", "Owner","Due.Date", "days.left"), class = "data.frame")
print(xtable(test4,display=c("d","d","s","s","s","s","s","d")),include.rownames=F,floating=F,type="html")
Как я могу получить xtable напечатать, даже если я буду иметь странные символы, как это?
FYI, эта же операция работает без ошибок, когда я запускаю ее на окнах. На debian linux я получаю сообщение об ошибке. Также я проверил свой язык, и он настроен правильно.
Большое вам спасибо. Это было именно это. Исходные данные сохранялись в excel на окнах, а символьные строки были закодированы в любом excel, указанном. Когда я импортировал этот csv на linux, кодирование было догадаться неправильно. Поговорив с MrFlick, он предложил указать кодировку символов, когда я импортирую свои данные с помощью read.csv ("csvname.csv", stringsAsFactors = F, ** fileEncoding = "latin1" **), и это отлично пошло. Благодаря! – variable