Voglio trovare un set di funzioni e salvarle, perché voglio inviarle a un server remoto in un file Rdata, e non voglio installare un nuovo pacchetto sul server.Come cercare un ambiente usando ls() all'interno di una funzione?
Anche se ricevo un errore utilizzando l'approccio riportato di seguito, sono preferibili approcci più facili/migliori.
MWE:
Qui ci sono due funzioni fittizie:
abcd.fun.1 <- function() return(1)
abcd.fun.2 <- function() return(2)
posso identificare le funzioni fittizie:
ls()[grep('abcd', ls())]
Ma quando ho avvolgere questo in una funzione:
find.test <- function(x) {
return(ls()[grep(x, ls())])
}
find.test('abcd')
La funzione restituisce character(0)
In ultima analisi vorrei
save(find.test('abcd'), file = test.Rdata)
globalenv() è preferito in questi giorni – hadley
@hadley: potresti spiegare perché? –
Hmmm, avrei potuto giurarlo ha suggerito che nella documentazione, ma credo di no. In tal caso è solo un'opinione personale: penso che sia meglio usare una funzione piuttosto che globale. – hadley