2010-11-12 15 views

risposta

12

Non direttamente, cioè non esiste un pacchetto Sono consapevole che implementa un ponte.

È sempre possibile chiamare programmi esterni utilizzando system() ma non è né elegante né efficiente. Detto questo, puoi preparare i dati in R, scriverlo, chiamare Stata e quindi leggere i risultati; vedi help(system).

+1

Questa è probabilmente la soluzione migliore. Stata ha una serie di strumenti a riga di comando che ti permettono di eseguire un file .do/.ado dalla shell (windows: http://www.stata.com/support/faqs/win/batch.html o unix/linux: http://fmwww.bc.edu/Gstat/docs/stataunixlinux.html#batch) –

+2

V'è ora un pacchetto [RStata] (https://github.com/lbraglia/RStata) su GitHub che tenta di creare un ponte tra R e Stata. – Thomas

+0

@Thomas RStata merita di essere la propria risposta. – fgregg

3

Il vero problema è che Stata non ha un interprete interattivo è possibile passare gli argomenti a.

Dirk ha ragione; si può solo andare avanti e scrivere i dati in un formato comune (se la dimensione è di grandi dimensioni e la velocità è un problema, larghezza fissa è sicuro), ma si può anche semplicemente usare .dta durante tutto il processo, utilizzando read.dta in R e lettura nativa in Stata.

Inoltre, in R è possibile chiamare il sistema() è possibile passare un file do o una stringa contenente un gruppo di comandi Stata.

Quindi, in genere, provare a utilizzare Stata per questo o quell'attività può essere utile o meno, specialmente se un equivalente R è vicino.