Перезапустите R в Rstudio

Я пытаюсь вызвать простой скрипт на Python из R с помощью system2 (). Я прочитал некоторую информацию, которая показалась мне расплывчатой, в которой говорилось, что если «слишком много» памяти используется, это не сработает.

Если я загружу большой набор данных и использую в нем некоторую информацию для использования в качестве аргументов для передачи в system2 (), он будет работать только в том случае, если я вручную нажму «Restart R» в вызове Rstudio.

Что я хочу:

df <- read.csv('some_large_file.csv')
###extracting some info called 'args_vec'
for(arg in args_vec){
    system2('python', args)
}

Это не будет работать как есть. Цикл for просто пропускается.

Что мне нужно:

df <- read.csv('some_large_file.csv')
###extracting some info called 'args_vec'
###something that 'restarts' R
for(arg in args_vec){
    system2('python', args)
}

Этот ответ не совсем понимаю, что я хочу. А именно, он не работает для меня в Rstudio и вызывает «system» (что представляет ту же проблему, что и «system2» в данном случае). Фактически, когда я поместил ответ, указанный выше, в мой файл Rprofile.site, он сразу же закрыл rstudio:

Я попробовал предложение как обычную функцию (вместо использования «makeActiveBinding»), и оно не совсем сработало.

##restart R in r session  -- doesn't work
makeActiveBinding("refresh", function() { system("R --save"); q("no") }, .GlobalEnv)

##nor did this:
refresh <- function() { system("R --save"); q("no") }

Я попробовал несколько вариантов этих двух вариантов выше, но это становится длинным для того, что похоже на простой вопрос. Я многое еще не понимаю в процессе запуска, и «makeActiveBinding» немного загадочен. Может кто-то указать мне верное направление?

Ответы на вопрос(2)

Ваш ответ на вопрос