Где находится файл .R script, расположенный на ПК?

Я хочу найти расположение файлов script.RRE, которые используются для вычисления в R.

Я знаю, что, набрав функцию объекта, я получу код, который будет запущен, а затем я могу скопировать и отредактировать и сохранить его как новый script файл и использовать его.

Причиной просить найти файл foo.R является

  • Любопытство
  • Знайте, какой алгоритм используется в числовых вычислениях
  • Более непосредственно, функция из пакета stats, который я использую, запускает результаты для двух аргументов, а не других, и нужно выяснить, как заставить это работать. Ошибка, отображаемая R, подразумевает, что в файле script могут потребоваться некоторые изменения.

Я ищу более общий ответ, если это возможно.

Изменить. В соответствии с комментариями до сих пор здесь приведен код для вычисления спектра временных рядов с использованием методов авторегрессии. Ввод данных - это одномерный ряд.

x = ts(data)
spec.ar(x, method = "yule-walker")    1
spec.ar(x, method = "burg")        2

команда 1 работает нормально. команда 2 дает следующую ошибку.

Error in ar.burg.default(x, aic = aic, order.max = order.max, na.action = na.action,  : 
  Burg algorithm only implemented for univariate series

Я попытался правильно указать все аргументы, такие как na.action = na.fail, order.max = NULL и т.д., но сообщение такое же. Просьба предложить возможные решения.

P.S. (Этот вопрос отправляется после поиска в папке библиотеки, где установлен R, и zip файлы, которые поставляются с пакетами, руководствами и открытием файлов .rdb,.rdx)

Ответ 1

См. FAQ 7.40 Как получить доступ к исходному коду для функции?

В большинстве случаев ввод имени функции будет печатать исходный текст код. Однако код иногда скрывается в пространстве имен или компилируется. Полный обзор того, как получить доступ к исходному коду, см. В Uwe Ligges (2006), "Служба поддержки: доступ к источникам", R News, 6/4, 43-45 (Http://cran.r-project.org/doc/Rnews/Rnews_2006-4.pdf).

Ответ 2

Когда R устанавливает пакет, он оценивает все исходные файлы ".R" и повторно сохраняет их в двоичном формате для более быстрой загрузки. Поэтому вы обычно не можете легко найти исходный файл.

Как было предложено в другом месте, вы можете просто ввести имя функции и посмотреть исходный код или загрузить исходный пакет и найти там источник.

library(plyr)
ddply # prints the source for ddply

# See the content of the R directory for plyr,
# but it only binary files:
dir(file.path(find.package("plyr"), "R"))
# [1] "plyr"     "plyr.rdb" "plyr.rdx"

# Get the source for the package:
download.packages("plyr", "~", type="source")

# ...then unpack and inspect the R directory...

Ответ 3

.libPaths() должен рассказать вам обо всех ваших текущих расположениях библиотек. Возможно наличие более одной установки пакета, если есть две библиотеки, но будет использоваться только тот, который находится в первой библиотеке. Если вы не предлагаете код и точное сообщение об ошибке, вряд ли кто-нибудь сможет предложить лучший совет.

Ответ 4

Я думаю, вы просите посмотреть, что я называю исходным кодом для функции в пакете. Если это так, то, как я это делаю, заключается в следующем, что сработало для меня в три раза, когда я пытался. Я сохраняю эти инструкции в нескольких местах и ​​просто скопирован и вставил их здесь:

Чтобы увидеть исходный код для функции в программе R, загрузите пакет, содержащий эту функцию. В частности, загрузите файл, который заканчивается на "tar.gz". Это сжатый файл. Разверните сжатый файл, используя, например, "WinZip". Теперь вам нужно открыть несжатый файл, который заканчивается на ".tar" . Загрузите бесплатное программное обеспечение "7-Zip". Нажмите на файл "7zFM.exe" и перейдите в каталог, содержащий файл ".tar" . Вы можете извлечь содержимое этого файла ".tar" в новую папку. Содержимое состоит из файлов R, показывающих исходный код для функций в пакете R.

EDIT:

Сегодня (8 июля 2012 г.) мне удалось открыть файл tar.gz с использованием последней версии "WinZIP" и скопировать содержимое (исходный код) оттуда, не используя "7-Zip".

EDIT:

Сегодня (19 января 2013 г.) Я просмотрел исходный код для функций в базе R, загрузив файл 'R-2.15.2.tar.gz'

Чтобы загрузить этот файл, перейдите на веб-страницу http://cran.at.r-project.org/ и щелкните по этому файлу в этой строке:

"Последняя версия (2012-10-26, Trick or Treat): R-2.15.2.tar.gz, прочитайте, что нового в последней версии".

Разархивируйте файл. WinZip будет работать, или это было для меня. Затем найдите свой компьютер для readtable.r или другой базовой функции R.

agstudy отметил здесь https://stackoverflow.com/info/14417214/source-file-for-r-function, что исходный код для read.csv находится в файле readtable.r, поэтому не ожидайте, чтобы каждая базовая функция R имела свои собственный файл.