Skip to content
Boris Demeshev edited this page Mar 26, 2016 · 24 revisions

. Мелкие проблемы

OS

  • Никогда не используйте названия файлов или папок, содержащие русские буквы или пробелы.
    • Будет лучше, если имя пользователя будет из английских букв. Тогда можно будет избежать домашней папки вида /users/Вовочка/
  • Переходите на linux, а? Для новичка подойдёт Ubuntu или Fedora Russian Remix. Впрочем, можно и на любую другую версию.

R

  • Под windows включите путь к внутренней папке bin из R в переменную PATH
  • R сам выбирает для больших чисел научную запись в духе 2e7. Чтобы отучить его от этого можно:
    • перейти к другим единицам измерения
    • задать "штраф" за использование научной записи, options(scipen=10). Значением 10 можно поиграть.
  • Перенос длинной строки.
    • попробуйте strwrap(...)
    • В Rnw файле вместо <<>>= ... @ попробуйте \Sexpr{...}
  • Обратный слэш при использовании xtable. К примеру, я хочу чтобы в таблице в заголовке столбца было $\sigma$. Добиваемся этого так. В самом тексте стоит $\\sigma$. Команда print(xtable()) вызывается с параметром sanitize.colnames.function = identity. Ответ на stackoverflow.
  • При непонятной ошибке имеет смысл обновить R, R-studio и пакеты до свежих версий. В экстремальных случаях пакеты нужно обновлять до самых свежих версий с github'а.
  • Сообщения об ошибках на английском Sys.setenv(lang = "en").

knitr

  • Не забудьте настроить R-studio на использование knitr вместо Sweave (Tools - Options - Sweave)
  • Чтобы подавить предупреждения, warnings, для куска кода следует указать опцию <<warning=FALSE>>=
  • установить опцию для всех кусков кода можно R командой opts_chunk$set(echo=FALSE). Но локальные установки опций для конкретного куска будут иметь приоритет над этой глобальной опцией.
  • Довольно неплохое начало выглядит так
<<setup, echo=FALSE>>=
library("knitr")
opts_chunk$set(cache = FALSE, dev = 'png', dpi = 300)
@
  • Опция cache=TRUE ускоряет компиляцию файла, т.к. knitr вместо фактического запуска команд использует старые сохраненный результаты. Иногда она работает некорректно, поэтому по умолчанию её лучше отключить и поставить cache = FALSE.

Русские не сдаются!

  • Общая стратегия: переводить все файлы в кодировку: utf8.
    • Если на windows кодировка utf8 не срабатывает, то можно скатиться в cp1251.
  • Чтобы использовать русские буквы в pdf-графиках из knitr, используем опции <<dev='cairo_pdf', warning=FALSE>>=
  • Если pdf-графики не получаются, то всегда можно уйти в растровые, png-графики. Делается это опцией <<dev = 'png', dpi = 300>>=. Разрешения в 300 точек на дюйм хватает для практических целей.
  • В латехе кодировка указывается командой \usepackage[utf8]{inputenc} или \usepackage[cp1251]{inputenc}
  • options(encoding = "utf8") - инструкция для R
  • Save with encoding, Reopen with encoding - в R-studio
  • как отконвертировать файл с данными .Rdata или другой из cp1251 в utf8 (или наоборот)?
Clone this wiki locally