Reklama
|
Statystyka, prognozowanie, ekonometria, data mining
Forum miłośników statystyki - Statystycy całego Świata - Łączcie się :-)
|
|
[R] Wstrzymanie działania programu |
| Autor |
Wiadomość |
Emiel Regis
Szeregowy

Wiek: 24 Posty: 3 Skąd: Kraków
|
Wysłany: 2010-02-02, 17:30 [R] Wstrzymanie działania programu
|
|
|
Witam serdecznie wszystkich użytkowników R.
Chciałbym zapytać, jakie jest polecenie w R które wstrzymuje działanie programu?
Czyli umieszczam w pliku 'abc.r' w pewnych miejscach taką komendę, że uruchamiając potem source("abc.r") program będzie się zatrzymywał w tych miejscach i czekał na wciśniecie klawisza enter.
Właśnie kończę lekturę bardzo dobrej książki "Przewodnik po pakiecie R" i niestety nic takiego tutaj nie znalazłem, a jest to przydatna funkcja.
Tak teraz myślę, że można by wpisać scan("", nmax=1) ale jakoś mało elegancko to wygląda. |
| Ostatnio zmieniony przez mathkit 2010-02-08, 09:25, w całości zmieniany 1 raz |
|
|
|
 |
Google
|
Wysłany: Reklama google.
|
|
|
|
|
|
|
|
|
bulva
Chorąży

Pomógł: 5 razy Posty: 172 Skąd: Zgierz
|
Wysłany: 2010-02-03, 08:36
|
|
|
Daj może po prostu coś takieg w skrypcie Jeżeli chcesz przerwać wykonywanie funkcji to np
| Kod: | if (...)
{
stop("wysypałem sie :(")
} |
|
|
|
|
 |
Emiel Regis
Szeregowy

Wiek: 24 Posty: 3 Skąd: Kraków
|
Wysłany: 2010-02-03, 10:51
|
|
|
Dzięki za chęci pomocy choć nie o to mi chodziło; )
Tak jak napisałem wyżej nie chcę kończyć programu tylko go chwilowo wstrzymać. Np mam skrypt co wypisuje 10 macierzy kontyngencji i nie chcę żeby one śmignęły użytkownikowi przed oczami, a potem żeby on musiał ręcznie pasek przewijać żeby je obejrzeć. Chce po każdej macierzy dać komendę wstrzymującą program i czekającą na enter.
Jak ktoś zna c++ to szukam ekwiwalentu system("PAUSE").
[edit]
Właśnie znalazłem to o co mi chodziło: )
Być może ktoś będzie jeszcze potrzebował więc napiszę. Takie dwa polecenia ładnie wstrzymują program:
readline(prompt = "Pause. Press <Enter> to continue...")
pause()
Są one w bibliotece DAAG. |
| Ostatnio zmieniony przez Emiel Regis 2010-02-04, 15:04, w całości zmieniany 1 raz |
|
|
|
 |
Crunchy
Porucznik Crunchy

Pomógł: 38 razy Posty: 484 Skąd: Katowice
|
Wysłany: 2010-02-03, 14:37
|
|
|
Moim zdaniem, niepotrzebne... zawsze możesz skłonić R do pokazania macierzy przez odwołanie się do niej, albo po prostu wydrukowanie całej sesji i przeglądanie jej w pdf'ie.
Ale do takich obliczeń (na macierzach) raczej Octave będzie lepszym wyborem. |
|
|
|
 |
Emiel Regis
Szeregowy

Wiek: 24 Posty: 3 Skąd: Kraków
|
Wysłany: 2010-02-03, 15:41
|
|
|
| A da się w jakiś prosty sposób zapisać całą sesję do pdfa? Czytałem o pakiecie Sweave ale niestety nie działa mi tam wszystko tak jak powinno. W samym R jest wszystko w porządku, ale później TexnicCenter nie widzi bibliotek. |
|
|
|
 |
Crunchy
Porucznik Crunchy

Pomógł: 38 razy Posty: 484 Skąd: Katowice
|
Wysłany: 2010-02-05, 21:01
|
|
|
| Emiel Regis napisał/a: | | A da się w jakiś prosty sposób zapisać całą sesję do pdfa? |
W R da się wywołać np. kod C, ale pod Windowsem mi się to jakoś nie udało skompilować... Co mnie raczej raczej nie dziwi, znając swoje zdolności programistyczne
Ale może ktoś inny to ruszy...
| Kod: | #include <R.h>
#include <cstdlib.h>
void stop()
{
Rprintf("Naciśnij dowolny klawisz, aby kontynuować... \n");
system ("pause");
return 0;
} |
print.png
|
 |
| Plik ściągnięto 397 raz(y) 3,73 KB |
|
|
|
|
 |
mbojanowski
Szeregowy ~

Pomógł: 2 razy Posty: 11 Skąd: Warszawa
|
Wysłany: 2010-02-07, 23:13
|
|
|
| Emiel Regis napisał/a: | Dzięki za chęci pomocy choć nie o to mi chodziło; )
Tak jak napisałem wyżej nie chcę kończyć programu tylko go chwilowo wstrzymać. Np mam skrypt co wypisuje 10 macierzy kontyngencji i nie chcę żeby one śmignęły użytkownikowi przed oczami, a potem żeby on musiał ręcznie pasek przewijać żeby je obejrzeć. Chce po każdej macierzy dać komendę wstrzymującą program i czekającą na enter.
Jak ktoś zna c++ to szukam ekwiwalentu system("PAUSE").
[edit]
Właśnie znalazłem to o co mi chodziło: )
Być może ktoś będzie jeszcze potrzebował więc napiszę. Takie dwa polecenia ładnie wstrzymują program:
readline(prompt = "Pause. Press <Enter> to continue...")
pause()
Są one w bibliotece DAAG. |
Gwoli ścisłości to 'readline' jest w 'base' a nie w DAAG.
Co do samego problemu, to wydaje mi się, że powstawianie readline() to tu to tam tylko po to, żeby użytkownik mógł sobie popatrzeć na jakieś cząstkowe wyniki nie jest chyba najwygodniejsze. Gdy napiszesz w skrypcie żeby wydrukował jakąś macierz i dasz potem readline to owszem, będzie można ją obejrzeć, ale nie ma żadnej możliwości dalszej interakcji: np. szybkiego policzenia czegoś na niej, zrobienia wykresu etc.
Wydaje mi się, że dużo lepsza praktyką jest popakowanie analiz w funkcje w taki sposób, żeby zwracały np listy, które w swych komponentach zawierają jakieś pośrednie wyniki. Wtedy można się nimi zabawiać dowoli.
Jeżeli z kolei to ma być sposób na debugowanie skryptu, to zdecydowanie polecam browser, trace i pochodne. |
|
|
|
 |
bulva
Chorąży

Pomógł: 5 razy Posty: 172 Skąd: Zgierz
|
Wysłany: 2010-02-08, 15:48
|
|
|
Teraz przyszło mi do głowy że możesz użyć polecenia browser(), wstawiasz je po prostu gdziekolwiek w kodzie, jak wywołasz funkcje to ona się tam zatrzyma, wciśniesz enter i poleci dalej - takie jakby debug-owanie:
| Kod: | funk = function ()
{
x <- rnorm(10)
browser()
x
}
funk() |
Wypróbuj czy o to chodziło
--------------------------------------
Spóźniłem się :)
--------------------------------------------------------------
Kod C wywołany w R:
http://blog.revolution-co...-with-ease.html |
|
|
|
 |
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych zakładek(IE) Wersja do druku
|
salon fryzjerski warszawa |mieszkania w suwałkach | Ogłoszenia Podlasie | implanty | Bukmacherzy | Liga Polska | numizmatyka | Typy bukmacherskie | betterware | bilety autokarowe | wynajem agregatów prądotwórczych | forum | portal studencki | płyty warstwowe | bronze crane statues | fotografia ślubna szczecin | alufelgi chromowane | okulary przeciwsłoneczne | rolety | hotel poznań | restauracja poznań | Ogrody Warszawa | strony internetowe olsztyn | stairlift | Patelnia elektryczna | Kosmetyki naturalne Florame | Radiografia | Nauka Jazdy Warszawa | konferansjer | | | Strona wygenerowana w 0,17 sekundy. Zapytań do SQL: 12 |
|
|