Kamil Bęczyński

Kamil Bęczyński R, SAS, analizy

Temat: Używam RStudio w jaki sposób wyświetlać numer iteracji...

W jaki sposób wyświetlać numer iteracji pętli for ? Nie mogę użyć plot(1,1,main=paste(numer_iteracji)) jak zazwyczaj robiłem, gdyż zacząłem używać RStudio, a tam każdy z wykresów automatycznie wyświetla się w nowym oknie (tak jak x11() przed plot) ?

Czy istnieje możliwość wyświetlania wykresów tylko w jednym stałym oknie w RStudio ?

Często korzystałem z plot() wewnątrz pętli for() by monitorować przebieg algorytmu - wyświetlać nie tylko iterację, ale również wykresy parametrów co dane ilość iteracji. Czy istnieje możliwość wyświetlania wykresów tylko w jednym stałym oknie w RStudio ? W opcjach nie znalazłem nic na temat zarządzania wykresami.

ps. nie chciałbym używać print() gdyż dane z konsoli się przesuwająKamil Bęczyński edytował(a) ten post dnia 23.05.11 o godzinie 19:42
Michał Bojanowski

Michał Bojanowski socjolog, analityk

Temat: Używam RStudio w jaki sposób wyświetlać numer iteracji...

U mnie (RStudio 0.93.89, Ubuntu 10.10) skrypcik:

for(i in 1:100)
{
Sys.sleep(0.5)
plot(1,1, type="n", main=i)
}

maluje cały czas na tym samym device, nie otwiera nowych okien (?)
Kamil Bęczyński

Kamil Bęczyński R, SAS, analizy

Temat: Używam RStudio w jaki sposób wyświetlać numer iteracji...

U mnie to nie zadziałało, nie wiem dlaczego. Powstało 100 wykresów, jutro upgraduję RStudio i zobaczą czy zadziała. Ponadto gdy naciskam 'stop' podczas wykonywania pętli, to w konsoli wyskakuje komunikat :
"Graphics error: " i nic więcej :) może to sterowniki, najpierw sprawdzę nowsze RStudio.
Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: Używam RStudio w jaki sposób wyświetlać numer iteracji...

Poniżej odpowiedź na pytanie

http://support.rstudio.org/help/discussions/problems/1...
Kamil Bęczyński

Kamil Bęczyński R, SAS, analizy

Temat: Używam RStudio w jaki sposób wyświetlać numer iteracji...

Michał Bojanowski:
U mnie (RStudio 0.93.89, Ubuntu 10.10) skrypcik:

for(i in 1:100)
{
Sys.sleep(0.5)
plot(1,1, type="n", main=i)
}

maluje cały czas na tym samym device, nie otwiera nowych okien (?)

Teraz mam RStudio 0.93.89 pod Windows wykresy otwierają się w nowych oknach, ale dzięki Sys.sleep(0.5) przynajmiej widać co się wyświetla, jako, że Sys.sleep spowalnia wykonywanie kodu, może lepiej będzie plot() wstawić do funkcji if() i rzadziej wyświetlać, gdyż dla małego time ponownie nie widać nowych wykresów.
Kamil Bęczyński

Kamil Bęczyński R, SAS, analizy

Temat: Używam RStudio w jaki sposób wyświetlać numer iteracji...

Wojciech Sobala:
Poniżej odpowiedź na pytanie

http://support.rstudio.org/help/discussions/problems/1...

Również to znalazłem, ale sądziłem, że da się to ograniczenie jakoś obejść używając funkcji dev.off() niestety to był zły pomysł. Czy jest to jedyna funkcja służąca do zamykania okna wykresów , może inne dają lepsze rezultaty ?
Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: Używam RStudio w jaki sposób wyświetlać numer iteracji...

Aby było jedno okno wystarczy:

windows()
for(i in seq(100)) {Sys.sleep(0.5);plot(1,1,main=i)}

Po zakończeniu pętli dev.off()
Kamil Bęczyński

Kamil Bęczyński R, SAS, analizy

Temat: Używam RStudio w jaki sposób wyświetlać numer iteracji...

Żeby nie zakładać nowego tematu zadam tutaj nowe pytanie. Ściągam kod strony internetowej przy pomocy funkcji scrape(url="") (pakiet scrapeR), a następnie pozyskuję z kodu HTML tabelę zawarte na stronie readHTMLTable() (pożyteczne funkcja z pakietu XML). Jednak muszę wykonać zapytanie do serwera wielokrotnie, nie zamierzam go przeciążyć, jednak obawiam się odmowy dostępu, będę oczywiście wykonywał zapytanie w nocy, w odstępach czasowych, żeby nie przeciążyć ich strony, jednak jak informuje help funkcja scrape() posiada parametr userAgent, co sprawiło, że pomyślałem, że moje zapytania mogą być w sposób automatyczny zidentyfikowane jako "outlier" jakiegoś typu :

W związku z tym mam dwa pytania :
Czy można zamaskować w jakiś sposób moje zapytania wychodzące z R tak by wyglądało jak wychodzące z przeglądarki (używam firefoxa)? Czy istnieją inne funkcje mogące posłużyć do ściągnięcia kodu html źródła strony ?Kamil Bęczyński edytował(a) ten post dnia 05.06.11 o godzinie 23:12
Wojciech Sobala

Wojciech Sobala Redaktor
statystyczny,
biostatystyk,
Instytut Medycyny
Pr...

Temat: Używam RStudio w jaki sposób wyświetlać numer iteracji...

Do wyświetalania można też użyć konsoli. Przykład poniżej zadaptowany na podstawie funkcji do wyświetlania zegara http://4dpiecharts.com/2011/05/11/a-clock-utility-via-....

counter <- function(start = 1, stop = 10, refresh = 1)
{
for(i in seq(from=start,to=stop))
{
cat("\r", sprintf("%03d",i), sep = "")
flush.console()
Sys.sleep(refresh)
}
cat("\n")
}



Wyślij zaproszenie do