Było kilka dobrych pytań i zestawów odpowiedzi na temat książek wprowadzających lub podejść do nauki R np. Tu i tutaj . Ale mam nieco inny problem - najlepszy sposób na przeprowadzenie godzinnej sesji (lub kilku takich sesji) w pracowni komputerowej, w której ludzie zaczną pracę w R, zapoznając się z jej podstawowym podejściem itp.
Mój obecny plan polegałby na skutecznym przejrzeniu rozdziału wprowadzającego czegoś takiego jak SimpleR Verzani, a następnie wprowadzeniu znanego zestawu danych, ale czy istnieje inne podejście, które ludzie uznają za przydatne? Na przykład, czy dobrze jest od razu wprowadzić prawdziwe dane, czy rozwiązać problemy w bardziej abstrakcyjny sposób? Czy powinienem wyczerpująco przejść przez sposób korzystania z nawiasów kwadratowych, czy też podekscytować ludzi przykładami grafiki kratowej?
Moi docelowi odbiorcy znają statystyki (choć nie są ekspertami) i kompetentni użytkownicy SPSS; nie zna języków programowania poza rodzajem makr i skryptów, które można uzyskać w SPSS i podobnych rzeczach.
Wszelkie wskazówki lub odniesienia do planów lekcji będą mile widziane. Nie chcę jednak powielać wielu dobrych list materiałów on-line wprowadzających R - ścisłe odniesienia do bezpośredniego pytania instruktażowego.
Odpowiedzi:
Argumentowałbym za zupełnie innym podejściem. Widziałem samouczki R, które były nauczane z dwóch różnych perspektyw: podejście blokowe, w którym użytkownicy zapoznają się z podstawowymi koncepcjami R. stosunkowo mało rozumie, jak coś zrobić. Ten ostatni zdecydowanie silniej rezonuje z uczniami, ale żaden z nich nie wydaje się zbyt skuteczny w produkcji użytkowników.
Zamiast tego wziąłbym wspólne i stosunkowo proste zadanie w SPSS i przechodzę przez konwersję do R, z odrobiną udawanej naiwności z twojej strony - np. Postępując zgodnie ze świetną sugestią Xi'ana, aby wyszukać niektóre pożądane funkcje
??
zamiast po prostu przywołanie właściwej funkcji z pamięci. Twoi nowicjusze prawie na pewno będą konwertować istniejące procesy, gdy się nauczą R, a nie piszą je od zera - więc dlaczego nie pokazać im dokładnie, jak sobie z tym poradzisz?Dobrym przykładem może być po prostu ładowanie danych, wykonanie kilku opisów i wyskakiwanie kilku podstawowych wątków.
lm()
mogą być bardzo, bardzo proste i dają zrozumiałe wyniki, które można porównać do danych wyjściowych SPSS, więc może to być również dobreAby odrabiać zadania domowe, poproś ich, aby spróbowali przekonwertować jeden ze swoich prostych procesów lub załadować i eksplorować zestaw danych, z którym są bardzo dobrze zaznajomieni. Daj im trochę czasu, aby dowiedzieć się, co się dzieje źle, a następnie przykryj je w następnej sesji innymi przykładowymi konwersjami. Nieuchronnie pojawią się pojęcia z twojej listy (mój zakład: czynniki vs. wektory postaci, za vs. zastosuj) - a wtedy będziesz miał rzeczywistą motywację do ich pokrycia. Jeśli nie pojawią się (
attach
), nie są jeszcze tak naprawdę potrzebne - jeśli to oznacza, że Twoi nowicjusze piszą wcześnie (for
zamiastapply
) trochę nieidiomatycznego kodu , nie widzę szkody.W ten sposób uczniowie mogą robić postępy w taki sam sposób, jak robią to uczniowie obcojęzyczni (a przynajmniej tak, jak ja to zrobiłem): prymitywne tłumaczenie prostych wyrażeń pobudza pragnienie bardziej złożonych wyrażeń, co powoduje pragnienie głębszego zrozumienia gramatyki , co ostatecznie prowadzi do idiomatycznej ekspresji. Nie przeskakuj zbyt wcześnie na gramatykę i nie przejmuj się zbytnio nauczaniem rzeczy, o które nie pytają, ponieważ prawdopodobnie i tak o tym zapomną. Delikatne wskazówki na temat ekspresji idiomatycznej są świetne (
for
vsapply
), ale najważniejsze jest, aby generowały wyniki i eksplorowały samodzielnie.źródło
OK, do tej pory moja własna odpowiedź na to, co według mnie zachęciłoby ludzi do rozpoczęcia nauki i zmotywowało ich do dalszej nauki (staram się oddzielić ich od SPSS, co dosłownie nie jest w stanie zrobić części tego, czego potrzebujemy, na przykład przynajmniej złożonej analizy ankiet bez kupowania kolejnych modułów, których odmawiam).
Pod koniec pierwszej sesji powinieneś być w stanie:
Podstawy
Manipulowanie danymi
Statystyka
Grafika
Pod koniec trzech sesji i wykonywania szeregu ćwiczeń między nimi powinieneś być również w stanie:
Podstawy
Manipulowanie danymi
Statystyka
Grafika
źródło
Do listy Piotra dodałbym:
Więcej przemyśleń: Prawdopodobnie
COMPUTE
dużo się w to wykorzystująSPSS
, więcR
dobrze byłoby opisać, jak to zrobić . Także, jak doRECODE
zmiennych w R. Kiedy używałem,SPSS
myślę, że większość mojej pracy „bez analizy” polegało na użyciu tych dwóch poleceń.źródło
ifelse
pisania upewnij się, aby pokazać im, jak to działa i co oznacza ostrzeżenie w jego dokumentacji. Działa to logicznie, gdy się nad tym zastanowić, ale widziałem całkowite zamieszanie związane zifelse
„zmienianiem” typów zmiennych i powodowaniem dużej ilości straconego czasu.a <- 1:5 ; b <- 4 ; a[b = 3] ; b ; a[b <- 3] ; b
gdzie indeksowanie daje te same wyniki, aleb
jest inne (za pierwszym razem niezmienione , za drugim razem zmienione). To=
nigdy nie miało być zadaniem i nigdy nie powinno być zmieniane, aby uczynić R. bardziej smacznym. Nie rób tegopmax
działa świetnie.