Sto usando R studio.C'è un modo per sapere se uno script R è in esecuzione direttamente o all'interno di un altro script?
C'è un modo per sapere se uno script R viene eseguito direttamente dal comando di origine nella console) o all'interno di un altro script. vale a dire. un altro script è originario e questo ha la chiamata al primo script.
Questo può essere utile per richiedere alcuni valori in alcuni casi.
Quello che sto facendo ora è impostare una variabile su true o false e all'interno dello script controllo la variabile. Funziona, ma un modo automatico è migliore.
Grazie per il vostro tempo.
EDIT >>> Maggiori informazioni
Diciamo che ho uno script indipendente che funziona bene così com'è, ma questo script è parte di un processo a rincorrere un altro script finito. Se devo eseguire entrambi, posso eseguire il primo, poi il secondo; ma ho anche la possibilità di eseguire il secondo.
Quello che sto chiedendo è se c'è un modo (nel secondo script) per verificare se questo secondo è stato chiamato dal primo o no.
Date un'occhiata ai suoi semplici esempi (ispirata alla risposta da Greg Snow)
scripta.R:
writeLines("script A")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
source("scriptb.r")
scriptb.R:
writeLines("script B")
if (interactive()) writeLines("interactive: true") else writeLines("interactive false")
writeLines("end B")
Il risultato in Rstudio è
Mi piace avere qualcosa come
script A
interactive: true
script B
interactive: false
end B
after B
Spero ora sia più chiaro.
Grazie
Potresti chiarire un po 'il motivo per cui utilizzi questa configurazione? Mi sembra un po 'arcano ... –