Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
markdown_message [2015/05/20 10:06] t.zoltak |
markdown_message [2015/05/20 10:07] (aktualna) t.zoltak |
||
---|---|---|---|
Linia 1: | Linia 1: | ||
- | ====== Używanie funkcji message() we wstawkach R w R Markdown ====== | + | ====== Używanie funkcji message() we wstawkach R w rmarkdown ====== |
- | Używanie funkcji //message()//, choć jest skądinąd dobrą praktyką przy pisaniu funkcji (bo osoba je wywołująca - w szczególności w ramach innych funkcji - może przy pomocy funkcji //suppressMessages()// zablokować ich wyświetlanie), we wstawkach R w R Markdown może dawać niepożądane rezultaty. Jeśli w ramach wstawki (//chunk//) jednocześnie generujesz kodem tekst, który ma być pokazany użytkownikowi oraz wykresy, to użycie funkcji //message()// do pokazywania tekstu z dużym prawdopodobieństwem doprowadzi do zaburzenia kolejności pomiędzy tekstem a wykresami (już na poziomie generowania pliku .md). Zapewne ma to jakiś związek z tym, że //message()// zwraca wynik działania do //stderr()//, a nie do //stdout()//. | + | Używanie funkcji //message()//, choć jest skądinąd dobrą praktyką przy pisaniu funkcji (bo osoba je wywołująca - w szczególności w ramach innych funkcji - może przy pomocy funkcji //suppressMessages()// zablokować ich wyświetlanie), we wstawkach R w rmarkdown może dawać niepożądane rezultaty. Jeśli w ramach wstawki (//chunk//) jednocześnie generujesz kodem tekst, który ma być pokazany użytkownikowi oraz wykresy, to użycie funkcji //message()// do pokazywania tekstu z dużym prawdopodobieństwem doprowadzi do zaburzenia kolejności pomiędzy tekstem a wykresami (już na poziomie generowania pliku .md). Zapewne ma to jakiś związek z tym, że //message()// zwraca wynik działania do //stderr()//, a nie do //stdout()//. |
- | W związku z tym **we wstawkach R w ramach R Markdown zalecamy zastępowanie funkcji //message()// funkcją //cat()//** (//cat()// zwraca wynik działania do //stdout()// i nie powoduje problemów). | + | W związku z tym **we wstawkach R w ramach rmarkdown zalecamy zastępowanie funkcji //message()// funkcją //cat()//** (//cat()// zwraca wynik działania do //stdout()// i nie powoduje problemów). |
Warto przy tym pamiętać o różnicach pomiędzy //message()// a //cut()//: | Warto przy tym pamiętać o różnicach pomiędzy //message()// a //cut()//: |