Я всегда находил файлы профиля запуска других людей полезными и поучительными в отношении языка. Более того, хотя у меня есть некоторые настройки для Bash и Vim , у меня нет ничего для R.
Например, одна вещь, которую я всегда хотел, это разные цвета для ввода и вывода текста в оконном терминале и, возможно, даже подсветка синтаксиса.
r
terminal
customization
rprofile
Peter Mortensen
источник
источник
.Rprofile
не должен содержать код, который изменяет результаты. То, что вы можете включить, - это материал, который изменяет внешний вид R (напримерoptions("width"=160)
) или зеркала CRAN по умолчанию (напримерoptions(repos = c(CRAN = "http://cran.rstudio.com"))
). Однако не загружайте пакеты, не изменяйте параметры по умолчанию для регулярно используемых функций, не определяйте функции и т. Д. Ваш код должен быть автономным и воспроизводить результаты без вашего конкретного.Rprofile
файла..Rprofile
?.Rprofile
это подходящее место для внесения изменений в приложение. Во-вторых, ваш вопрос должен быть отдельным вопросом SO. Я пытаюсь использовать шаблон, аналогичный тому, что мы делали в нашем проекте проверки продуктов питания (см. Схему кода и шаги инициализации в верхней части каждого сценария).Ответы:
Вот мой. Это не поможет вам с окраской, но я понял это из ESS и Emacs ...
источник
r
а затем -rm
это, вы можете поместить это вlocal({ })
блок. Хороший ответ, хотя, я люблю конфигурацию X11!local({ ... })
как показано вhelp(Startup)
том, что я обычно делаю в эти дниRprofile.site
.Хотя на самом деле этого нет в моем .Rprofile, потому что это может нарушить код моих соавторов, я бы хотел, чтобы это было по умолчанию. Зачем?
1) Векторы персонажей используют меньше памяти (но только);
2) Что еще более важно, мы бы избежали таких проблем, как:
и
Факторы хороши, когда они вам нужны (например, реализуют упорядочение в графиках), но большую часть времени создают неудобства.
источник
Я ненавижу вводить полные слова «голова», «сводка», «имена» каждый раз, поэтому я использую псевдонимы.
Вы можете поместить псевдонимы в свой файл .Rprofile, но вы должны использовать полный путь к функции (например, utils :: head), иначе она не будет работать.
РЕДАКТИРОВАТЬ: чтобы ответить на ваш вопрос, вы можете использовать пакет colorout , чтобы иметь разные цвета в терминале. Прохладно! :-)
источник
n
будет кусать меня, лично, в задней части во время отладки..startup <- new.env()
assign("h", utils::head, env=.startup)
assign("n", base::names, env=.startup)
assign("ht", function(d) rbind(head(d,6),tail(d,6)) , env=.startup)
assign("s", base::summary, env=.startup)
attach(.startup)
sum <- base::summary
. Это была не очень хорошая идея.colorout
: "" "Этот пакет был заархивирован: он использовал точки входа без API, не разрешенные политиками CRAN." ""Вот мой. Я всегда использую основной репозиторий Cran, и у меня есть код, чтобы облегчить получение исходного кода пакета в разработке.
источник
Мне нравится сохранять историю команд R и делать ее доступной каждый раз, когда я запускаю R:
В оболочке или .bashrc:
в профиле:
источник
Вот две функции, которые я считаю удобными для работы с окнами.
Первый преобразует
\
с в/
.Второй открывает рабочий каталог в новом окне проводника.
источник
.repath
будет так попасть в мой .Rprofile.snippet wpp
`r paste("\"", gsub("\\\\", "/", readClipboard()), "\"", sep = "")`
У меня есть такой, более динамичный трюк для использования полной ширины терминала, который пытается прочитать из переменной среды COLUMNS (в Linux):
Таким образом, R будет использовать всю ширину, даже если вы измените размер окна терминала.
источник
COLUMNS
не установлен, вы можете попробоватьwidth = as.integer(system('tput cols',intern=TRUE)
в качестве backstop.Большинство моих личных функций и загруженных библиотек находятся в скрипте Rfunctions.r
источник
Вот из моего ~ / .Rprofile , предназначенного для Mac и Linux.
Это делает ошибки легче увидеть.
Я ненавижу выбор меню CRAN, поэтому установите хороший.
Больше истории!
Следующее предназначено для запуска на Mac OSX из терминала (который я очень предпочитаю R.app, потому что он более стабилен, и вы можете организовать свою работу по каталогу; также убедитесь, что вы получили хороший ~ / .inputrc ). По умолчанию вы получаете дисплей X11, который выглядит не так хорошо; это вместо этого дает кварцевый дисплей такой же, как графический интерфейс. Предполагается, что это
if
утверждение должно отражать случай, когда вы запускаете R из терминала на Mac.И предварительно загрузить несколько библиотек,
где util.r - случайный пакет с вещами, которые я использую, в потоке.
Кроме того, поскольку другие люди упоминали ширину консоли, вот как я это делаю.
На самом деле это не
.Rprofile
так, потому что вы должны перезапускать его каждый раз, когда вы изменяете размер окна терминала. У меня есть этоutil.r
тогда, я просто поставляю это по мере необходимости.источник
Вот мой:
источник
?new.env
,?assign
и?sys.source
. Если вы не можете заставить его работать, опубликуйте новый вопрос на SO, и я уверен, что вы получите ответы.my.as.Date
можете быть замененыLubridate
пакетом. Я прав?источник
Сделайте так, чтобы data.frames отображались как «head», только без необходимости вводить «head»
(Из Как сделать так, чтобы «голова» автоматически применялась к выводу? )
источник
У меня часто есть цепочка отладочных вызовов, которые мне нужны, и раскомментирование их может быть очень утомительным. С помощью сообщества SO я выбрал следующее решение и вставил его в свой
.Rprofile.site
.# BROWSER
там для моих задач Eclipse, так что у меня есть обзор вызовов браузера в окне просмотра задач.источник
Мой не слишком причудливый
источник
Я много работаю с базами данных mysql, поэтому подключение - это просто находка. Мне только жаль, что не было способа перечислить доступные базы данных, чтобы мне не пришлось запоминать все разные имена.
источник
Пост Стивена Тернера на .Rprofiles содержит несколько полезных псевдонимов и начальных функций.
Я часто использую его ht и hh.
источник
corner
которая делает то же самое, что и вашаhh
функция, и немного больше. ;)Вот мое, в том числе некоторые из упомянутых идей.
Вы можете захотеть взглянуть на две вещи:
,
источник
Я использую следующее, чтобы cacheSweave (или pgfSweave) работал с кнопкой «Компилировать PDF» в RStudio:
источник
Шахта включает в себя ,
options(menu.graphics=FALSE)
потому что мне нравится отключить / подавляют tcltk всплывающее окно для выбора зеркала CRAN в R .источник
Вот мой. Ничего особенного. Мысли о том, почему конкретный выбор:
stringsAsFactors
потому что я нахожу чрезвычайно утомительным передавать его в качестве аргумента каждый раз, когда я читаю CSV. Тем не менее, это уже вызвало у меня небольшое раздражение при использовании кода, написанного на моем обычном компьютере, на компьютере, который не было моего .Rprofile. Я держу это, хотя, поскольку проблемы, которые это вызвало бледный по сравнению с проблемами, не заставляющими это быть установленным каждый день, чтобы вызвать.utils
пакет раньшеoptions(error=recover)
, он не сможет найти восстановление, если он помещен вinteractive()
блок..db
для своей настройки Dropbox, а неoptions(dropbox=...)
потому, что я использую его все время внутри,file.path
и это экономит много печатать. Ведущий.
удерживает его от появленияls()
.Без дальнейших церемоний:
источник
Вот небольшой фрагмент для экспорта таблиц в LaTeX . Он изменяет все имена столбцов на математический режим для многих отчетов, которые я пишу. Остальная часть моего .Rprofile довольно стандартна и в основном описана выше.
источник
Я установил свою цветовую тему решетки в своем профиле. Вот два других твика, которые я использую:
источник
setwd
замена будет работать лучше в версии:utils::assignInNamespace("setwd",function(dir) {on.exit(setWindowTitle(base::getwd())); .Internal(setwd(dir))}, "base")
У меня есть переменная окружения R_USER_WORKSPACE, которая указывает на верхний каталог моих пакетов. В .Rprofile я определяю функцию devlib, которая устанавливает рабочий каталог (чтобы data () работал) и искал все файлы .R в подкаталоге R. Это очень похоже на функцию l () Хэдли выше.
источник
Я обнаружил, что две функции действительно необходимы: во-первых, когда я установил
debug()
несколько функций и исправил ошибку, я хочу использоватьundebug()
все функции, а не одну за другой.undebug_all()
Функция добавлена в общепринятом ответ здесь лучше.Во-вторых, когда я определил много функций и ищу конкретное имя переменной, его трудно найти во всех результатах
ls()
, включая имена функций.lsnofun()
Функция размещена здесь действительно хорошо.источник