Я пытаюсь вызвать простой скрипт python из R, используя system2(). Я прочитал некоторую информацию, которую я счел расплывчатой, что сказал, что если используется «слишком большая» память, это не сработает.Перезагрузка R в Rstudio
Если я загружаю большой набор данных и использую в нем какую-либо информацию для использования в качестве аргументов для перехода в system2(), он будет работать, только если я вручную нажму «Перезапустить 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)
}
This answer не совсем понимаю, что я хочу. А именно, он не работает для меня в Rstudio, и он вызывает «систему» (в данном случае такая же проблема, как и «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» немного загадочно. Может ли кто-нибудь указать мне в правильном направлении?
Вы уверены, что вам действительно нужно перезапустить все R? Если вы используете 'rm (list = ls())', который очищает рабочее пространство и, возможно, ручную сборку мусора с помощью 'gc()' на всякий случай, этого должно быть достаточно? –
@BenHunter сразу же закрывает RStudio, потому что вы вызываете 'q' после перезапуска. Вызовите вызов 'q', и он должен сделать то же самое, что выбрать Restart R в RStudio. –
@ Хеммо, я знаю, что это вариант, и в этом случае это может быть хорошим выбором, но мне бы очень хотелось узнать, как решить это, так же как и без потери рабочего пространства (или сохранения, удаления и последующей перезагрузки Это). –