/ / Konwertuj Pythona na R - python, r

Konwertuj Python na R - python, r

Wiem, że istnieje moduł (rpy i rpy2) do konwersji kodu R na Pythona.

Czy jest jakiś łatwy sposób na odwrócenie?

Odpowiedzi:

13 dla odpowiedzi nr 1

rpy (2) nie konwertuje kodu. Pozwala tylko na interfejs do komunikowania się z R z python i wydawania komend R z Pythona.

Biorąc pod uwagę, że R jest bardzo zależne od bibliotek statystycznych, które nie są dostępne w Pythonie, konwersja byłaby na ogół ogromną ilością pracy. Aby przekonwertować pojedynczą linię, jak

lmer (y ~ x1 + x1 + (1|id), mydat)

coś w pytonie zajęłoby sporopraca. Jeśli chcesz uruchomić ten kod z Pythona, użyj rpy. Idąc w drugą stronę, co wydaje się bardziej tym, czym jesteś zainteresowany, konwersja często może być nieco prostsza. Kod byłby jednak bardzo źle zoptymalizowany dla R i działał bardzo źle. Niedawno zoptymalizowałem trochę kodu R przekonwertowanego z Pythona przez kogoś, kto napisał kod R jako mniej lub bardziej bezpośredni wiersz tłumaczenia po wierszu. Optymalizacja wyszła 1/3 długości i między 20 a 1000 razy szybciej (w zależności od funkcji).


4 dla odpowiedzi nr 2

John ma rację. Nie konwertują one między językami, ale łączą języki. Konwersja języka nie jest szczególnie powszechna, chociaż ich łączenie jest. Jednak, konwersja obiektu jest dość powszechne, ponieważ jest to ważna część języków interfejsu.

Oprócz Rpy i Rpy2, spójrz na RSPython. Zapewnia także konwersję obiektów i zainspirował Rpy.


4 dla odpowiedzi nr 3

Jeśli posiadanie Pythona jako punktu wyjścia jest dopuszczalne, rpy2 pozwala przejść w obie strony między R i Pythonem: możesz wywołać kod Pythona podczas wykonywania kodu R (doc tutaj).


1 dla odpowiedzi nr 4

z PypeR możesz bardzo łatwo przejść obie drogi: od R do Pythona i od Pythona do R. http://www.webarray.org/softwares/PypeR/

działa świetnie i ten artykuł opisuje, jak działa i jakie są zalety w stosunku do alternatyw (rpy, rpy2 itd.)

http://www.jstatsoft.org/v35/c02/paper

Osobiście używałem go do uruchamiania modeli statystyk w R z pythona oraz do importowania / eksportowania ramek danych z jednej strony na drugą (i konwertowania ramek numpy na ramki danych i odwrotnie).