Różnice między wybraną wersją a wersją aktualną.
Nowa wersja | Poprzednia wersja | ||
r_gr_uczniowietesty [2014/12/15 18:14] zozlak utworzono |
r_gr_uczniowietesty [2015/09/25 22:58] (aktualna) zozlak [Dołączanie danych kontekstowych do wyników egzaminacyjnych/testów] |
||
---|---|---|---|
Linia 3: | Linia 3: | ||
===== Wstęp ===== | ===== Wstęp ===== | ||
- | * Grupa danych //uczniowieTesty// daje dostęp do informacji o uczniach w kontekście danego egzaminu/testu. | + | * Grupa danych //uczniowieTesty// daje dostęp do informacji o uczniach w kontekście danego [[test|testu]] (egzamin składa się z testów). |
* Stałe w czasie informacje o uczniach (np. płeć, rocznik) zawiera grupa danych [[r_gr_uczniowie|uczniowie]]. | * Stałe w czasie informacje o uczniach (np. płeć, rocznik) zawiera grupa danych [[r_gr_uczniowie|uczniowie]]. | ||
- | * Listę zmiennych zawartych w tej grupie danych znajdziesz [[r_wstep#podsumowanie_informacji_o_grupach_danych|tutaj]]. | + | |
- | * Aby pobrać grupę danych //uczniowieTesty// wywołujemy funkcję \\ \\ //**pobierz_dane_uczniowie_testy**(src)//, gdzie \\ \\ | + | * Ponieważ grupa danych nie zawiera żadnych (może poza rokiem) zmiennych umożliwiających jej intuicyjne odfiltrowanie, typowo jest ona złączana z grupami danych: |
+ | * [[r_gr_testy|testy]] | ||
+ | * i/lub [[r_gr_wyniki|wyniki]] | ||
+ | * i/lub [[r_gr_szkoly|szkoły]] | ||
+ | |||
+ | * Listę zmiennych zawartych w tej grupie danych znajdziesz [[r_zmienne?zm=uczniowietesty|tutaj]]. | ||
+ | |||
+ | ===== Funkcje ===== | ||
+ | |||
+ | * //**pobierz_dane_uczniowie_testy**(src, daneOsobowe = FALSE)//, gdzie \\ \\ | ||
* //src// - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz() | * //src// - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz() | ||
+ | * //daneOsobowe// - czy pobierać zmienne //klasa// i //kod_ucznia// (wymaga nawiązania połączenia z bazą jako użytkownik z prawami do odczytu danych osobowych) | ||
+ | |||
+ | * //**filtruj_przystapienia**(src, pierwsze, rodzajEgzaminu, czescEgzaminu = NULL, | ||
+ | czyEwd, obserwacje = NULL)// \\ [[r_gr_wyniki#filtruj_przystapienia|Patrz opis funkcji ]] | ||
+ | |||
==== Przykład ==== | ==== Przykład ==== | ||
Pobieramy informacje o uczniach (dysleksja, bycie laureatem, itp.) w kontekście testu o id_testu 1436 (matura podstawowa z języka polskiego 2013): | Pobieramy informacje o uczniach (dysleksja, bycie laureatem, itp.) w kontekście testu o id_testu 1436 (matura podstawowa z języka polskiego 2013): | ||
- | <code> | + | <code rsplus> |
library(ZPD) | library(ZPD) | ||
src = polacz() | src = polacz() | ||
Linia 21: | Linia 35: | ||
Jeśli nie znamy id_testu testu, dla którego chcemy pobrać dane, możemy dokonać złączenia z grupą danych [[r_gr_testy|testy]] (lub inną, która zawiera zmienne umożliwiające nam wygodne odfiltrowanie danych). Poprzedni przykład przybrałby wtedy postać: | Jeśli nie znamy id_testu testu, dla którego chcemy pobrać dane, możemy dokonać złączenia z grupą danych [[r_gr_testy|testy]] (lub inną, która zawiera zmienne umożliwiające nam wygodne odfiltrowanie danych). Poprzedni przykład przybrałby wtedy postać: | ||
- | <code> | + | <code rsplus> |
library(ZPD) | library(ZPD) | ||
src = polacz() | src = polacz() | ||
Linia 33: | Linia 47: | ||
- | ==== Czas ściągania danych z serwera ==== | + | ===== Czas pobierania danych z serwera ===== |
- | W bazie znajdują się (na koniec 2014 r.) dane dla ok. 36,5 mln par {uczeń, test}. Ściągnięcie ich wszystkich z bazy danych na komputer (czy to funkcją collect() czy przekształceniem pobranych danych na zwykłą ramkę danych): | + | W bazie znajdują się (na październik 2015 r.) dane dla blisko 50 mln par {uczeń, test}. Ściągnięcie ich wszystkich z bazy danych na komputer (czy to funkcją collect() czy przekształceniem pobranych danych na zwykłą ramkę danych): |
* może zająć 20-30 minut minut; | * może zająć 20-30 minut minut; | ||
Linia 43: | Linia 57: | ||
* albo przed pobraniem danych odfiltrować je do interesującego zakresu (np. tylko dla wybranego egzaminu/testu - patrz przykłady powyżej); | * albo przed pobraniem danych odfiltrować je do interesującego zakresu (np. tylko dla wybranego egzaminu/testu - patrz przykłady powyżej); | ||
- | * albo przed pobraniem danych złączyć je z inną, odpowiednio węziej zdefiniowaną, grupą danych (np. wynikami egzaminacyjnymi), co spowoduje ograniczenie ich zakresu, np. <code> | + | * albo przed pobraniem danych złączyć je z inną, odpowiednio węziej zdefiniowaną, grupą danych (np. wynikami egzaminacyjnymi), co spowoduje ograniczenie ich zakresu, np. <code rsplus> |
library(ZPD) | library(ZPD) | ||
src = polacz() | src = polacz() | ||
- | wyniki = pobierz_wyniki_egzaminu(src, 'sprawdzian', '', 2009, F) | + | wyniki = pobierz_wyniki_egzaminu(src, 'sprawdzian', '', 2009, FALSE) |
uczniowieTesty = pobierz_dane_uczniowie_testy(src) | uczniowieTesty = pobierz_dane_uczniowie_testy(src) | ||
zlaczone = left_join(wyniki, uczniowieTesty) | zlaczone = left_join(wyniki, uczniowieTesty) | ||
zlaczone = zlaczone %>% collect() | zlaczone = zlaczone %>% collect() | ||
</code> | </code> | ||
- | * albo oddzielne pobranie danych o uczniach w kontekście poszczególnych egzaminów/testów na komputer i zapisanie ich lokalnie na dysku:<code> | + | * albo oddzielne pobranie wszystkich danych o uczniach w kontekście poszczególnych egzaminów/testów na komputer, zapisanie ich lokalnie na dysku i wykorzystanie w dalszych analizach pobranej kopii zamiast ponownego pobierania ich z serwera:<code rsplus> |
library(ZPD) | library(ZPD) | ||
src = polacz() | src = polacz() | ||
Linia 75: | Linia 89: | ||
=== Przykład === | === Przykład === | ||
- | Dołączamy do wyników sprawdzianu 2010 ([[czyewd|z danych EWD]]) wszystkie informacje z grupy danych //uczniowieTesty//: <code> | + | Dołączamy do wyników sprawdzianu 2010 ([[czyewd|z danych EWD]]) wszystkie informacje z grupy danych //uczniowieTesty//: <code rsplus> |
library(ZPD) | library(ZPD) | ||
src = polacz() | src = polacz() | ||
Linia 85: | Linia 99: | ||
s_10_razem = inner_join(s_10, uczniowieTesty) | s_10_razem = inner_join(s_10, uczniowieTesty) | ||
# pobieramy dane z serwera | # pobieramy dane z serwera | ||
- | m_10_razem = s_10_razem %>% collect() | + | s_10_razem = s_10_razem %>% collect() |
</code> | </code> | ||