Pojawiła się nowa wersja Rcmdr
Pojawiła się nowa wersja Rcmdr numer 1.8-1. Poinformował o tym John Fox to the R-pkgs mailing list.
Źródło: R-bloggers
Pojawiła się nowa wersja Rcmdr numer 1.8-1. Poinformował o tym John Fox to the R-pkgs mailing list.
Źródło: R-bloggers
Zaszła potrzeba, aby dowiedzieć się ile miejsc po przecinku ma pewna zmienna...
howManyDecimals<-function(x){ if(!is.numeric(x)) stop("x must be numeric!") return(nchar(unlist(strsplit(as.character(x),'.',fixed=TRUE))[2])) }
Created by Pretty R at inside-R.org
Jedyną wadą tej funkcji jest ograniczenie wynikające z obcięcia części dziesiętnej liczby przez wykorzystaną funkcję as.character().
Przedstawiam prostą funkcję, która zaokrągla liczbę do wartości najbliższego kroku:
Funkcja sample() może sprawiać pewne problemy jeżeli zostanie niepoprawnie zastosowana w kodzie. Przykład takiego problemu został opisany na stronie R snippets.
I chociaż juz pierwszy komentarz pod postem stwierdza, że jest to problem udokumentowany w pomocy funkcji i zalecana jest nawet funkcja rozwiązująca przedstawione problemy (resample()), to i tak uważam, że warto przeanalizować przynajmniej kod zaprezentowany poniżej (R snippets).
Zobaczcie różnicę:
Created by Pretty R at inside-R.org
Created by Pretty R at inside-R.org
Źródło: R-bloggers
Z Okazji Świąt Bożego Narodzenia składam wszystkim najserdeczniejsze życzenia.
P.S. Z tej okazji przygotowałem dla Was choinkę.
source("http://fork.edu.pl/r/choinka.R")
Z pakietem GrapheR opisanym w artykule pt: GrapheR: a Multiplatform GUI for Drawing Customizable Graphs in R przez Maxime Hervé, można tworzyć R'owe wykresy bez jakiej kolwiek znajomości R'a. Jedyne co trzeba zrobić to załadować pakiet i uruchomić poleceniem: <b>run.GrapheR()</b>. Resztę można spokojnie wyklikać.
Przeglądając R-bloggers trafiłem na ciekawą alternatywę dla Sweave, czyli knitr.
Źródło: R-bloggers
Około północy zastanawiałem się w jaki sposób zabezpieczyć obiekty w moim kodzie przed niepowołaną zmianą, a dokładnie przed samym sobą... Tworzę dość skomplikowaną strukturę do analizy danych mikromacierzowych i wykorzystuje pewien mechanizm filtrów, który pozwala mi skierować wybrane dane do analizy. Jednakże, jak to bywa w życiu człowieka, mam kiepską pamięć i pracuję na kilku wersjach tych samych danych... Nie mam możliwości upilnowania w takiej sytuacji pożądku w danych, dlatego żeby uchronić się przed analizą różnych danych zmienionym przez pomyłkę filtrem mam zamiar wykorzystać sumy kontrolne, które pozwolą zapanować przynajmniej częściowo nad chaosem.
Znalazłem na szybko dwa pakiety do tworzenia sum kontrolnych, ale tylko jeden z nich działa sensownie: digest.
P.S. Jeśli coś wyżej zostało napisane nieskładnie i nielogicznie, to bardzo przepraszam, ale jest już późno. Dobranoc.
P.S.2. Dla zainteresowanych kod R'a tego drugiego.
P.S.3. Znalazłem też implementacje MD5 w rozmaitych językach.