Перезапустите 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» немного загадочен. Может кто-то указать мне верное направление?