Что такое формат файла R?
Файлы .r (традиционно записываемые как .R с заглавной буквы) содержат исходный код для языка статистического программирования R, созданного Россом Ихакой и Робертом Джентльменом в Оклендском университете в 1993 году. R является доминирующим языком для статистических вычислений, биоинформатики и анализа данных в академических и научных исследованиях.
Скрипт .R представляет собой обычный текст в кодировке UTF-8 без обязательной структуры - инструкции выполняются сверху вниз или определяют функции для последующей загрузки через source(). Типичные скрипты начинаются с вызовов library() для загрузки пакетов, используют оператор <- для присваивания, применяют манипуляции с данными tidyverse или base-R, строят статистические модели с помощью таких функций, как lm() или glm(), и генерируют визуализации через ggplot2 или базовую графику. Комментарии начинаются с символа #. Скрипты запускаются из командной строки с помощью Rscript script.R или интерактивно внутри RStudio. В системах Unix шебанг #!/usr/bin/env Rscript позволяет выполнять файл напрямую.
Практическое неудобство: в файловых системах, чувствительных к регистру (Linux, macOS), .R и .r являются разными файлами. GitHub Linguist исторически ошибочно идентифицировал .r как REBOL, а не R; сообщество REBOL с тех пор перешло на расширения .reb и .r3, чтобы уменьшить двусмысленность. Связанные форматы включают R Markdown (.rmd) для грамотного программирования и RData (.rdata) для сериализованных объектов R.
Безопасность и защита
РИСК: MEDIUMСкрипты R являются интерпретируемым кодом - выполнение ненадежного файла .R может привести к произвольным операциям с файловой системой, сетевым запросам и установке пакетов. Перед запуском скрипта из неизвестного источника откройте его в текстовом редакторе для проверки содержимого. Код R может вызывать system() и shell() для выполнения команд ОС. Относитесь к неизвестным файлам .R как к любому другому исполняемому скрипту.
Детали формата
в двух словах- Скрипт REBOL - REBOL (Relative Expression Based Object Language) исторически использовал .r; сообщество теперь предпочитает .reb / .r3, чтобы избежать путаницы со статистическими скриптами R.
Программы, открывающие файлы R
Технические подробности
глубокая спецификация| Кодировка текста | UTF-8 (рекомендуется и используется по умолчанию в современном R); ASCII или системная локаль принимаются старыми версиями |
| Синтаксис комментариев | Префикс `#` для строчных и встроенных комментариев; в базовом R нет синтаксиса блочных комментариев |
| Оператор присваивания | `<-` (канонический стиль R); `=` допустим, но традиционно зарезервирован для передачи аргументов функций |
| Чувствительность к регистру | В файловых системах, чувствительных к регистру (Linux, macOS), расширения `.R` и `.r` различаются; GitHub Linguist может ошибочно классифицировать `.r` как REBOL |
| Методы выполнения | `Rscript script.R` из командной строки; `source("script.R")` внутри сессии R; интерактивный REPL в RStudio |
| Поддержка шебанга | `#!/usr/bin/env Rscript` в первой строке позволяет прямое выполнение в Unix, если файл помечен как исполняемый |
| Система пакетов | `library(pkgname)` импортирует пакеты; более 20 000 пакетов в CRAN; Bioconductor для задач геномики |
| Отсутствие обязательной структуры | Не требуется функция `main()` или объявление модуля; выполнение идет сверху вниз |
| Типичный размер файла | Менее 100 КБ для большинства аналитических скриптов; может достигать нескольких МБ, если большие векторы данных встроены как литералы |
| Основная IDE | RStudio (Posit) - обеспечивает подсветку синтаксиса, встроенный REPL, просмотр графиков и управление пакетами для файлов `.R` |
| Роли в экосистеме | Статистическое моделирование (`lm()`, `glm()`), обработка данных (dplyr, tidyr), визуализация (`ggplot2`), биоинформатика (Bioconductor) |
| Практика воспроизводимости | `set.seed()` для стохастической воспроизводимости; `sessionInfo()` для записи среды выполнения для опубликованных анализов |
| Выпущен | 1993 (R language); .R extension used since R's public availability (~1995) |
| Последняя версия | R 4.4.x (2024); language and .R format unchanged in structure |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.r-project.org |
Конвертации R
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах R.