Написание кода на R - полезные советы

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




Основная парадигма  - передавать параметры в функцию по значению, т.е. аргументы функции внутри нее не редактируются. Исключения (pass by reference) - environments .


удобно использовать точку как разделитель в имени переменных

ex: car.data, car.pca, car.means – сразу понятно что и где

Для разделения слов в функциях – использовать “_”.  Тогда сразу понятно где что.

 

getAnywhere()поиск исходного кода функции из загруженного namespace

 

assignInNamespace() – замещение кода функции из пакета. Удобно для модификации кода пакетов

 

fix() - может быть вызвана с использованием имени функции в качестве аргумента. При этом можно отредактировать текст функции из пакета загруженного в память. При этом на диск нечего не записывается, т.е. пакет не изменяется

 

invisible() возвращает результат функции, но не печатает его если результат функции ничему не присваивается (поведение по умолчанию)

 

eval(parse(text=”tmp=5”)) вычислить выражение R заданное в виде строки

 

dput()записать в файл представление объекта в виде R-кода

 

 

Избегать перехода на новую строку между закрывающей скобкой } и 'else'. Часто R думает что выражение уже закончилось и не распознает часть когда условие не выполнено.

Т.е. избегать:

if(some_expr) { method1(); }

else { method2(); }

Вместо этого писать

if(some_expr) { method1();

} else { method2(); }

Выглядит ужасно, но ничего не поделаешь.

 

 

on.exit() – выполнить выражение, когда текущая функция завершилась (нормально или аварийно). Удобно для восстановления измененных параметров по умолчанию, например par(), или других clean-up операций.

 

detach(package:grid) – выгрузить пакет из памяти

Добавить комментарий


Защитный код
Обновить