2010-11-12 12 views

Odpowiedz

12

Nie bezpośrednio, tj. Nie ma pakietu, o którym wiem, że realizuje most.

Możesz zawsze wywoływać programy zewnętrzne za pomocą system(), ale to nie jest ani eleganckie, ani wydajne. Powiedział, że możesz przygotować dane w R, napisać, zadzwonić do Stata, a następnie odczytać wyniki; patrz help(system).

+1

To prawdopodobnie najlepsze rozwiązanie. Stata posiada zestaw narzędzi wiersza poleceń, które umożliwiają uruchamianie pliku .do/.ado z powłoki (windows: http://www.stata.com/support/faqs/win/batch.html lub unix/linux: http://fmwww.bc.edu/Gstat/docs/stataunixlinux.html#batch) –

+2

Jest teraz pakiet [RStata] (https://github.com/lbraglia/RStata) na GitHub, który próbuje utworzyć most między R a Statą. – Thomas

+0

@Thomas RStata zasługuje na własną odpowiedź. – fgregg

3

Prawdziwy problem polega na tym, że Stata nie ma interaktywnego interpretera, do którego można przekazywać argumenty.

Dirk ma rację; możesz po prostu napisać dane do wspólnego formatu (jeśli rozmiar jest duży, a prędkość jest problemem, stała szerokość jest bezpieczna), ale możesz także po prostu użyć .dta w całym procesie, używając read.dta w R i natywnie czytając w Stacie.

Również w R możesz wywołać system() możesz przekazać plik do lub ciąg zawierający kilka poleceń Stata.

Ogólnie rzecz biorąc, próba użycia Stata do wykonania tego lub innego zadania może być lub nie być tego warta, szczególnie jeśli w pobliżu znajduje się odpowiednik R.