Voglio essere in grado di source()
un file che include un file diverso nella sua stessa directory, ma io non voglio avere per impostare la directory di lavoro dalla R-conferma prima di eseguire questo file:Determinare la posizione del file corrente in R per includere il file dalla stessa directory?
> getwd()
[1] "/Users/myser"
> source("/Users/myuser/workspace/myproject/myfile.r")
Inside/Users/myuser/workspace/myproject, ci sarebbero myfile.r e my-utils.r. myfile.r chiama source('my-utils.r')
dall'interno di esso.
Altri linguaggi di programmazione possono determinare il percorso del file corrente. R ha qualcosa di simile? Esempio:
cur_dir <- sys.get_current_file_path()
source(file.path(cur_dir, "my-utils.r"))
battere il mio di 30 secondi ... bella risposta. –
@ Apprentice: il nome della mia funzione era probabilmente scarsamente scelto. Quello che intendevo era qualcosa come questo codice Python: os.path.realpath (\ _ \ _ file \ _ \ _) –
Il problema con questo codice/soluzione è che lega la funzionalità di quella chiamata a 'source' ad essa esistente in quella directory specifica. Sarebbe bene avere una soluzione che non dipendesse da questo, come sarebbe realizzabile con l'approccio che Dolan stava cercando con il suo pseudo esempio di ispirazione pitone. correggimi se mi manca qualcosa però. – metasoarous