Zrestartuj R w Rstudio
Próbuję wywołać prosty skrypt Pythona z poziomu R przy użyciu system2 (). Przeczytałem pewne informacje, które uważałem za niejasne, które mówiły, że jeśli używana jest „za dużo” pamięci, nie zadziała.
Jeśli załaduję duży zestaw danych i użyję pewnych informacji w nim, aby użyć go jako argumentu do przejścia do system2 (), zadziała tylko wtedy, gdy ręcznie kliknę „Restart R” w wywołaniu Rstudio.
Czego chcę:
df <- read.csv('some_large_file.csv')
###extracting some info called 'args_vec'
for(arg in args_vec){
system2('python', args)
}
To nie zadziała tak jak jest. Pętla for jest po prostu pomijana.
Czego potrzebuję:
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)
}
Ta odpowiedź nie do końca to, czego chcę. Mianowicie, nie działa dla mnie w Rstudio i wywołuje „system” (co w tym przypadku stanowi ten sam problem, co „system2”). W rzeczywistości, kiedy umieściłem odpowiedź, o której mowa powyżej w moim pliku Rprofile.site, natychmiast zamknięto rstudio:
Próbowałem tej sugestii jako normalnej funkcji (zamiast używać „makeActiveBinding” i to nie działało całkiem dobrze).
##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") }
Wypróbowałem kilka wariantów tych dwóch opcji powyżej, ale to trwa długo, co wydaje się prostym pytaniem. Jest wiele rzeczy, których nie rozumiem jeszcze z procesu uruchamiania, a „makeActiveBinding” jest nieco tajemniczy. Czy ktoś może wskazać mi właściwy kierunek?