Język programowania R, używany do obliczeń statystycznych i przetwarzania danych, pojawiał się już na łamach niniejszego bloga. Korzystaliśmy z niego w tak odległych zastosowaniach, jak obliczanie odległości wyspy Hunga Tonga od szczytów Tatr i Karkonoszy, czy wizualizacji popularności artykułów z bloga.
Niniejszy tekst stanowi materiał pomocniczy dla uczestników darmowego programu edukacyjnego Poradnik dla sponiewieranych Excelem. Dowiesz się, jak zainstalować język R i środowisko RStudio na komputerze z systemem Windows. Objaśnię, dlaczego możemy legalnie przeprowadzić tę operację na służbowym komputerze wykorzystywanym do celów komercyjnych (oczywiście po uzyskaniu zgody działu IT). Zaczynajmy!
Instalacja R i RStudio
Zanim uruchomimy pierwszy skrypt w języku R, musimy przygotować sobie środowisko pracy. Pobierzemy i uruchomimy kolejno dwa pakiety instalacyjne. Pierwszym jest sam język R, drugim – RStudio czyli edytor dla programistów tego języka.
Pakiet instalacyjny języka R czeka na stronie https://cran.r-project.org/bin/windows/base/ – łatwo odnaleźć tam pierwszy, wyróżniony link na górze witryny. Instalacja przebiega typowo – akceptujemy licencję GNU GPL, potwierdzamy lokalizację plików, potem czterokrotnie zatwierdzamy wybór ustawień domyślnych. Gotowe.
Tak samo jest z RStudio, dostępnym na stronie https://posit.co/download/rstudio-desktop/ – uruchamiamy instalator, potwierdzamy ustawienia domyślne, przy pierwszym starcie potwierdzamy korzystanie z 64-bitowej edycji języka R.
Co jest czym w RStudio?
Lewa-dolna ćwiartka (1) to okienko konsoli (jeśli żaden plik nie jest otwarty, konsola zajmie całą lewą połowę ekranu). W konsoli możemy wydawać komendy, które zostaną wykonane natychmiast. Kliknij to okno, za znakiem zachęty „>
” wpisz tekst „1+2
” i wciśnij Enter – w nowej linii pojawi się tekst „[1] 3
”. Jedynka w nawiasach kwadratowych informuje, że oglądasz pierwszy (i jedyny) element wyniku.
Lewa-górna ćwiartka (2) to miejsce, gdzie będziemy edytować skrypty (programy) języka R. Kod tu wpisywany nie będzie wykonywany automatycznie, polecenie pod kursorem wykonamy klikając ikonkę zielonej strzałki, opatrzoną napisem „Run”.
W prawej-górnej ćwiartce (3) ekranu zwróćmy uwagę na zakładkę „Environment”, w której znajdziemy zmienne przechowujące nasze dane. Przydatna może być też zakładka „History” czyli historia poleceń wykonanych w konsoli.
Prawa-dolna ćwiartka (4) to m.in. przeglądarka plików (Files) i panel, w którym będą pojawiać się wykresy (Plots).
Aby upewnić się, że instalacja przebiegła pomyślnie, możesz wkleić do okna konsoli następującą linię i zatwierdzić Enterem
x1 <- rnorm(1000); y1 <- x1 + rnorm(1000); plot(x1, y1)
W prawym dolnym rogu, w zakładce „Plots”, powinien pojawić się podobny obrazek:
Potem – dla wprawy – możesz utworzyć nowy plik skryptowy (w pasku ikon pierwsza ikonka od lewej), wkleić tam ten sam kod a potem wykonać go przyciskiem „Run”. Każde kolejne wykonanie zmieni nieco obrazek, bo dane do wykresu generowane są losowo, za każdym razem od nowa.
Biblioteki z zestawu Tidyverse
„Goły” język R jest… niezbyt wygodny i niezbyt przyjazny dla nowych użytkowników. Na szczęście jest na to lekarstwo – zestaw bibliotek o wspólnej nazwie „Tidyverse”. Strona domowa tego projektu dostępna jest tutaj.
W ramach Poradnika będziemy korzystać z Tidyverse zawsze i wszędzie, bez rozważania alternatyw. Tidyverse jest po prostu za dobry, by go odrzucać. Każdy skrypt zaczniemy od zbiorczego załadowania kompletu bibliotek, służy do tego komendalibrary("tidyverse")
Uwaga – gdy pierwszy raz wpiszesz tę komendę do edytowanego skryptu i zapiszesz zmiany, środowisko RStudio wykryje żądanie załadowania nieznanej biblioteki i zaproponuje jej doinstalowanie. Będzie to wyglądało, jak na obrazku poniżej:
Gdy klikniesz „Install”, RStudio przez dłuższą chwilę będzie pobierać i instalować pakiety z bibliotekami Tidyverse oraz innymi, od których Tidyverse zależy. Możesz także wywołać instalację ręcznie, poleceniem:install.packages("tidyverse")
Niezależnie od sposobu wywołania, instalacja będzie zdarzeniem jednorazowym.
Skąd wezmą się te wszystkie instalowane pakiety? Z oficjalnego repozytorium CRAN (The Comprehensive R Archive Network), ale to temat na inną opowieść.
Co z językiem polskim?
Język R wyposażono w kilkaset spolszczonych komunikatów, które mogą być pomocne dla początkujących.
Aby w bieżącej sesji przestawić język na polski, wydaj komendę:Sys.setenv(LANGUAGE="pl")
Efekt działania będzie następujący:
Choć język angielski może być pewną niedogodnością, to ma niewątpliwą zaletę – użycie oryginalnego brzmienia komunikatów błędu pozwala odnaleźć lepsze porady i materiały pomocnicze, niż w przypadku przetłumaczonych odpowiedników.
Dlaczego te wszystkie produkty są za darmo?
Można powiedzieć, że to stara tradycja, jeszcze z początków lotnictwa. Tfu, komputeryzacji. Do archaicznych komputerów klasy mainframe oprogramowanie systemowe i narzędzia programistyczne dołączano w komplecie. Potem pojawiły się komputery osobiste i przez krótką chwilę kompilatory i zintegrowane środowiska programistyczne były produktami płatnymi. Potem jednak okazało się, że bardziej opłacalna jest taktyka stosowana przez Microsoft – rozdawanie za darmo szerokiego wachlarza produktów hobbystom, uczniom i nauczycielom, bo potem absolwenci wchodzący na rynek pracy domagają się oprogramowania, które już znają. A gdy to pracodawca przystępuje do zakupów, weźmie wersję z centralnym zarządzaniem licencjami i innymi udogodnieniami do pracy zespołowej – sporo za to płacąc.
Równolegle w świecie akademickim kultywowano zwyczaj swobodnego dzielenia się rezultatami pracy naukowej, również powstałym przy tej okazji oprogramowaniem. Tak właśnie było w przypadku języka R, który stworzono jako narzędzie do nauki statystyki na uniwersytecie w Auckland. Projekt ten, którego historia sięga roku 1993, już dwa lata później został objęty darmową licencją GNU GPL i od tamtej pory rozwijany jest jako wolne i otwarte oprogramowanie. Biblioteki Tidyverse dostępne są na licencji MIT. Każdy może używać R i Tidyverse w dowolnych celach, również komercyjnych, również na komputerach służbowych.
RStudio ma dwa warianty – darmowy i płatny. Wszystko, czego potrzebujemy, znajdziemy w wariancie darmowym (wersja płatna zawiera szerszy wybór driverów do baz danych, wsparcie techniczne oraz możliwość zdalnego wykonywania zadań na innych komputerach). Wariant darmowy objęty jest wolną, otwartą licencją AGPL, i można instalować go za darmo na każdym komputerze.
Poniżej wersja skrócona powyższych informacji dla twojego działu IT
Licencjonowanie języka R oraz aplikacji RStudio
Język programowania R dostępny jest na otwartoźródłowej licencji GNU GPL.
Strona domowa: https://www.r-project.org/about.html
Kod źródłowy: https://svn.r-project.org/R/trunk/
Licencja: https://svn.r-project.org/R/trunk/COPYING
Na takiej samej licencji dostępne są na przykład jądro systemu Linux, git, WordPress, GIMP czy VLC.
Środowisko programistyczne RStudio dostępne jest na otwartoźródłowej licencji GNU Affero GPL.
Strona domowa: https://posit.co/products/open-source/rstudio/
Kod źródłowy: https://github.com/rstudio/rstudio
Licencja: https://github.com/rstudio/rstudio/blob/main/COPYING
Na takiej samej licencji dostępne są na przykład Bitwarden, Mastodon, SugarCRM czy część serwerowa komunikatora Signal.
Dołącz do listy mailingowej Poradnika dla sponiewieranych Excelem
Ta blogonotka jest elementem darmowego programu edukacyjnego Poradnik dla sponiewieranych Excelem. Każdy zapisany otrzyma co tydzień mail, w których objaśniam, jak efektywniej pracować z danymi.
Microsoft Excel to potężne narzędzie za pomocą którego można dokonać rzeczy zdumiewających. Niestety, niektóre z tych rzeczy wymagają gimnastyki albo roboty żmudnej i powtarzalnej. Co gorsza – jeśli te żmudne kawałki wchodzą w zakres naszych obowiązków służbowych, musimy dać się sponiewierać co miesiąc.
Gdy dołączysz do listy mailingowej, pokażę ci, w jaki sposób użyć języka R do automatyzacji tych nudnych i żmudnych kawałków. Nie musisz porzucać wiedzy ani doświadczenia zdobytego w Excelu – z poziomu R oraz RStudio odczytasz i zapiszesz pliki XLSX.
Chcesz zapisać się na listę? Wejdź na stronę sponiewierani.pl!
[Dodano 01.08.2023] Popularne pomyłki i problemy napotykane podczas nauki języka R
Ten rozdział powstaje na podstawie problemów zgłaszanych przez uczestników Poradnika. Jeśli masz zagwozdkę – napisz!
Ścieżki do katalogów
W wielu językach programowania backslash („\
”) użyty w napisie (string) oznacza początek dwuznakowej sekwencji specjalnej, np. „\n
” oznacza przejście do nowego wiersza zaś „\t
” – znak tabulacji. Z kolei sekwencja „\\
” oznacza… pojedynczy backslash.
To właśnie z tego powodu niepoprawna będzie komenda przejścia do wybranego katalogu pisana tak:
🛑 setwd("c:\users\tomek\dane")
Mamy do wyboru dwa rozwiązania – użycie podwójnego backslasha, albo – na wzór systemów unixowych – pojedynczego slasha, który język R przetłumaczy sobie na poprawną ścieżkę w Windows:
✅ setwd("c:\\users\\tomek\\dane")
✅ setwd("c:/users/tomek/dane")
Błąd: could not find function „%>%”
Zapomniałeś załadować biblioteki Tidyverse. Po każdym starcie RStudio musisz to zrobić od nowa, bo język R jest domyślnie ładowany bez rozszerzeń ani bibliotek dodatkowych. Wydaj komendę:
✅ library(tidyverse)
Błąd przy ładowaniu pliku CSV do ramki danych
Próbujesz załadować plik.csv do ramki danych komendą
🛑 read.csv(plik.csv)
Dostajesz błąd object 'plik.csv' not found
. Przyczyna – brak cudzysłowów otaczających nazwę pliku. Poprawna wersja:
✅ read.csv("plik.csv")
Komenda z okienka skryptu nie wykonuje się w całości
To trochę dziwne, ale język R nie wymaga stosowania separatorów między poleceniami. To oznacza, że kolejne linie z jedną komendą będą wczytywane tak długo, dopóki nie powstanie kompletna komenda.
Przykład: jednolinijkowa polecenie "napis" %>% toupper()
zwróci wynikNAPIS
Jeśli rozbijemy je na dwie części, efekt może być dwojaki:"napis" %>%
toupper()
Ta komenda nadal zwróci napis z dużych liter, bo R wie, że po operatorze %>% wystąpi ciąg dalszy, wczytana zostanie kolejna linia.
Jeśli jednak napiszemy:"napis"
%>% toupper()
to wykonany zostanie tylko pierwszy wiersz, stanowiący kompletne wyrażenie z napisem. Efektem będzie więc:napis
O autorze: zawodowy programista od 2003 roku, pasjonat bezpieczeństwa informatycznego. Rozwijał systemy finansowe dla NBP, tworzył i weryfikował zabezpieczenia bankowych aplikacji mobilnych, brał udział w pracach nad grą Angry Birds i wyszukiwarką internetową Microsoft Bing.
7 odpowiedzi na “Jak zainstalować język R i środowisko RStudio”
dzięki za tą stronę, dzięki za newsletter – przeczytałem z zainteresowaniem…
co z użytkownikami Mac? czy jest równie prosta procedura instalacji
Hej! Nie zrobię screenshotów, bo nie mam makówki, ale procedura niczym się nie różni od instalacji innego oprogramowania
R dla MacOS (intel lub arm): https://cran.r-project.org/bin/macosx/
RStudio: https://posit.co/download/rstudio-desktop/
Bardzo dziekuje.
Zainstalowalem juz R wewn maszyny wirtualnej parallels. Wreszcie sie na cos przyda.
Czekam na kolejne odcinki.
Dzień dobry
Czy mogę prosić o radę?
Próbuję zainstalować:
> library(„tidyverse”)
Błąd w poleceniu 'library(„tidyverse”)’:nie ma pakietu o nazwie ‘tidyverse’
Więc próbuję inaczej:
> install.packages(„tidyverse”)
Ostrzeżenie w poleceniu 'install.packages(„tidyverse”)’:
'lib = „C:/Program Files/R/R-4.3.1/library”’ nie jest zapisywalna
— Proszę wybrać serwer lustrzany CRAN do użycia w tej sesji —
Błąd w poleceniu 'contrib.url(repos, „source”)’:
próba użycia CRAN bez ustawienia serwera lustrzanego
?
proszę spróbować wariantu z serwerem wskazanym wprost:
install.packages("tidyverse", repos = "http://cran.us.r-project.org")
Ja również mam problem z załadowaniem biblioteki Tidyverse. Oto wynik:
______________________________________
install.packages(„tidyverse”)
Warning in install.packages :
unable to access index for repository https://cran.rstudio.com/src/contrib:
cannot open URL 'https://cran.rstudio.com/src/contrib/PACKAGES’
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/X/AppData/Local/R/win-library/4.3’
(as ‘lib’ is unspecified)
Warning in install.packages :
unable to access index for repository https://cran.rstudio.com/src/contrib:
cannot open URL 'https://cran.rstudio.com/src/contrib/PACKAGES’
Warning in install.packages :
package ‘tidyverse’ is not available for this version of R
______________________________________
Wykonanie wariantu z serwerem wskazanym wprost niestety nie pomaga. Ponieważ pracuję na sieci firmowej, mam podejrzenie, że adres internetowy może być blokowany, więc spróbuję ponownie w domu i dam znać, czy się udało.
W razie problemów z zainstalowaniem pakietu Tidyverse w RStudio w środowisku biurowym sugeruję spróbować w innej sieci, na przykład na domowym Wi-Fi. W moim przypadku okazało się, że w sieci firmowej połączenie jest prawdopodobnie blokowane.