2016-01-14 2 views
6

Я пытаюсь использовать пакет SemiMarkov, и я хочу изменить одну небольшую строку кода там. Я сделал некоторое рытье через:r изменить и перестроить пакет

getAnywhere("semiMarkov") 

& Я определил, что я хочу изменить эту строку:

hessian <- diag(ginv(hessian(V, solution))) 

, чтобы попробовать что-то вроде:

hessian <- diag(ginv(pracma::hessian(V, solution))) 

Как я пойдите об этом? Нужно ли мне перестраивать пакет с нуля, и если это так, мне нужно rTools и т. Д. Для этого, или есть простой способ обхода (я - соответствующий R-новичок)? Я сделал поиск в Интернете и не нашел ничего очевидного. Любые идеи/указатели с благодарностью оценили.

ответ

8

среда Linux

Начиная с загрузкой пакета из источника CRAN.

Скачать и извлечь источник:

wget https://cran.r-project.org/src/contrib/SemiMarkov_1.4.2.tar.gz 
tar -xvzf SemiMarkov_1.4.2.tar.gz 

Это должно привести к директории с именем SemiMarkov , Откройте источник (cd SemiMarkov) и при необходимости измените.

Далее строят изменения:

cd .. 
R CMD build SemiMarkov/ 

Это приведет к новому архивного файла с именем SemiMarkov_1.4.2.tar.gz.

Наконец, установить измененный архив:

R CMD INSTALL SemiMarkov_1.4.2.tar.gz 

среду Windows

Я менее знаком с платформой Windows. * Инструмент nix доступен в Cygwin, но это больно. Вместо этого, как указывает Джош О'Брайен, вы должны следовать Windows-specific instructions в руководстве по установке и администрированию R.

+1

@Rob Общий совет здесь (что вы должны скомпилировать модифицированную версию пакета) отлично.Однако, как давний пользователь Windows, кто написал и модифицировал многие пакеты, я бы очень сильно советовал вам не пытаться сделать это с помощью Cygwin. –

+1

Вместо этого вы должны * тщательно * следовать указаниям для Windows (https://cran.r-project.org/doc/manuals/r-release/R-admin.html#The-Windows-toolset) в руководстве по установке и администрированию R. (Связанные примечания к приложению, «* Это приложение содержит множество предписывающих комментариев. Они здесь в результате горького опыта». * Я бы посоветовал вам серьезно отнестись к этому предупреждению, если вы хотите относительно безболезненный опыт!) После того, как вы приобретете соответствующий набор инструментов, установка модифицированного пакета будет такой же простой, как и установка 'devtools :: install (« SemiMarkov »)'. –

+0

Отличные пионы @ JoshO'Brien :) Надеюсь, вы не против, я обновил свой ответ с вашим контентом. Не стесняйтесь редактировать его! – blong

7

Если вы хотите просто проверить влияние этих изменений в интерактивном сеансе R, вы можете сделать это, используя trace(). Вот как:

  1. Тип trace("semiMarkov", edit=TRUE)
  2. В текстовом редакторе, который запускает, редактировать линию интереса.
  3. Сохраните измененный файл.
  4. Закройте текстовый редактор
  5. Назад в R, используйте измененную функцию.
+0

Большое спасибо, это также очень полезно для быстрого тестирования и очень легко! – Rob

Смежные вопросы