2012-06-21 27 views
5

Mamy zestaw skryptów R, które przetwarzają niektóre dane i dają pewne wyniki. Chcemy, aby te dostępne dla podstawowych użytkowników skryptów, które nie są używane do poleceń R - chcemy zapewnić im jakieś ładne GUI, który pozwoliłby na:Interfejs GUI dla skryptu R

  • danych import/eksport z MS Excel/Dostęp do nich z łatwością (również w przypadku kopiowania/wklejania, jeśli to możliwe)
  • umożliwia zmianę ustawień/parametrów procesu
  • powinien działać w systemie MS Windows.

Czy istnieje proste środowisko skryptowe, które pozwoliłoby na stworzenie tak miłego GUI dla naszych skryptów R tak szybko, jak to możliwe? Nie musi być koniecznie w języku R.

+0

Prawdopodobnie robi dużo więcej niż to, czego potrzebujesz/chcesz, ale [R dowódca] (http://socserv.mcmaster.ca/jfox/Misc/Rcmdr /) ma wszystkie te funkcje. – Chase

+0

@Chase, dziękuję, to fajna sprawa, ale czy naprawdę pozwala mi to na łatwe tworzenie interfejsu GUI dla naszych niestandardowych skryptów? Na pierwszy rzut oka wygląda to na frontend dla najczęściej używanych funkcji R, a nie na framework do tworzenia własnych frontendów. – TMS

+0

Dobre pytanie, szczerze mówiąc raz użyłem R Commander. Pamiętam z UseR! Konferencja kilka lat temu, że wiele osób stworzyło niestandardowe interfejsy GUI i większość z nich miała logo RCMDR w rogu ... dlatego napisałem jako komentarz, a nie odpowiedź :) – Chase

Odpowiedz

4

Istnieje narzędzie RExcel, które zawiera R jako wtyczkę programu Excel, więc głównym interfejsem jest program Excel, a R wykonuje obliczenia w tle. Możesz ustawić arkusz, aby użytkownik wprowadził dane, a następnie podświetlił pole, a następnie wybrał element menu lub kliknął przycisk, a wyniki zostały umieszczone w innej komórce (lub zestawie komórek). Należy jednak pamiętać, że program RExcel i program komunikacyjny, z których korzysta użytkownik, nie są bezpłatne.

Inną opcją jest utworzenie własnej funkcji GUI w R, a następnie uruchomienie GUI automatycznie po uruchomieniu R (patrz? STARTUP) i ustawienie tego na komputerze użytkownika. Zrobiłem to dla klientów, zanim nie wiedzieli nic o R, po prostu dwukrotnie kliknęli ikonę na pulpicie (Windows), zminimalizowali główne okno R po otwarciu, wchodzili w interakcje z gui, które zaprogramowałem do uruchomienia (I używane tcltk, ale są inne) i zobaczył dostarczone dane wyjściowe.

można uzyskać dane skopiowane z programu Excel poprzez użytkownikowi wybrać dane i kliknij na kopii, a następnie w programie metę newdata <- read.delim('clipboard') a dane będą w ramce danych o nazwie „NewData”, można użyć write.table(outdata, file='clipboard', delim='\t') aby umieścić dane z "danych wyjściowych" ramki danych do schowka, a użytkownik może następnie wkleić go do programu Excel (lub innych programów).

Istnieje również pakiet Rcmdr, który zapewnia ogólny graficzny interfejs użytkownika dla R (podstawowe narzędzia), ale także ma mechanizm, w którym można tworzyć własne menu i okna dialogowe do użytku z interfejsem GUI.

+0

Dziękuję Greg, przyjrzę się temu i może wrócę z pytaniem. Dzięki. – TMS

2

Nie powiedziałeś, że musi to być program komputerowy. Więc projekt Jeroen Ooms' przezabawny openCPU może być wart obejrzenia. Zasadniczo nazywa to obliczeniami statystycznymi w chmurze. Chłopaki są ostatnio bardzo aktywni (teraz, gdy ponownie sprawdziłem stronę, zdałem sobie sprawę, że znowu jest nowa).

Również jego wcześniejsze dzieło stockplot lub ggplot demo jest bardzo interesujące. Zwłaszcza krótkie spojrzenie na stockplot daje szybkie wrażenie o jego podejściu.

Użyto Afaik, RApache i ładny interfejs GUI nakładki z EXTJS. Myślę, że dokumentacja może wyjaśnić podejście znacznie lepiej niż ja.

myślę R na serwer WWW - zwłaszcza do stosowania intranet jest dobrym rozwiązaniem (w zależności od wielkości firmy), ponieważ:

  • jest niezależna od platformy, klienci mogą korzystać ze swoich ulubionych przeglądarek
  • rozwój lokalny i wdrożenie scenariusza, a nawet całych pakacges R jest łatwy
  • Raportowanie/Publishing jest duża wytrzymałość R i może być ułatwione za pomocą architektury web Based (patrz pakiety jak knitr lub sweave
+0

Dziękuję ran2, jest to interesująca odpowiedź. Przyjrzę się temu i mogę wrócić z pytaniem. – TMS