Запуск и отладка script и функции в R

Я новичок. У меня есть R файл, содержащий функцию с параметром. Я хотел бы выполнить следующие две операции:

  • Запустите функцию
  • Выполняйте шаг за шагом и отлаживайте его

предположим иметь простую функцию в файле R

"exampleSum"<-
function(x,y){
 x<-x+1
 return(x+y)
}

Не могли бы вы сказать мне, какие команды R выполнять то, что я просил.

Ответы

Ответ 1

Вам нужно позвонить debug(<functionName>), чтобы выполнить функцию. При следующем вызове функции автоматически открывается так называемая среда браузера и список содержимого вашей функции. Вы выполняете один шаг, нажимая Return или с помощью команды n (далее). Один шаг - это один блок (обычно одна строка), который будет указан до его запуска. Чтобы запустить функцию до конца, нажмите c (продолжить). Когда вы находитесь в режиме браузера, вы можете использовать ls(), str(), class(),... для проверки объектов. Ваш пример выглядит следующим образом:

> exampleSum <- function(x, y) {
+   x <- x+1
+   return(x+y)
+ }

> debug(exampleSum)             # set debug flag
> exampleSum(1, 2)              # run function in browser mode
debugging in: exampleSum(1, 2)
debug: {
    x <- x + 1
    return(x + y)
}
Browse[2]> n                    # next step
debug: x <- x + 1
Browse[2]> ls()                 # show objects
[1] "x" "y"
Browse[2]> x                    # show x
[1] 1
Browse[2]> c                    # run function to end
exiting from: exampleSum(1, 2)
[1] 4

> undebug(exampleSum)           # remove debug flag

Последний вызов undebug(<functionName>) удаляет флаг отладки из функции таким образом, что он будет запускаться нормально при следующем вызове.

Ответ 2

Сначала вам нужно загрузить функцию в рабочую область R (путем копирования/вставки ее в R). Затем вы можете запустить его с помощью exampleSum(x = 1, y = 1). Вы можете проверить это там, набрав exampleSum в R-консоль. Вы также можете запустить файл script, используя source(). Пример использования: source("d:/R/my_script.R").

Думаю, вам очень понравится, прочитав хотя бы Введение в R. Существует также множество книг для новичков R, которые объясняют самые основы. Эквивалентная информация доступна в вышеупомянутых AI2R и свободных материалах, плавающих по Интернету. Поиск в R help также полезен.