Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
r_gr_wyniki [2015/09/27 14:29] zozlak [normalizuj()] |
r_gr_wyniki [2017/11/11 18:58] (aktualna) zozlak [pobierz_odpowiedzi()] |
||
---|---|---|---|
Linia 153: | Linia 153: | ||
* **Uwaga**, przed pobraniem wyników na komputer należy **koniecznie je odfiltrować**, typowo poprzez złączenie z odpowiednio odfiltrowaną grupą danych [[r_gr_testy|testy]] i/lub [[r_gr_kryteriaoceny|kryteria oceny]]. | * **Uwaga**, przed pobraniem wyników na komputer należy **koniecznie je odfiltrować**, typowo poprzez złączenie z odpowiednio odfiltrowaną grupą danych [[r_gr_testy|testy]] i/lub [[r_gr_kryteriaoceny|kryteria oceny]]. | ||
+ | * **Uwaga** filtrując za pomocą podanego ręcznie //id_testu// należy zadbać o to, by przekazane wartości były liczbami całkowitymi (np. //123L// albo //as.integer(123)// - patrz przykład poniżej).\\ R domyślnie przechowuje liczby w postaci zmiennoprzecinkowej, co jednak przy filtrowaniu danych zwracanych przez funkcję //pobierz_odpowiedzi()// prowadzi do drastycznego pogorszenia wydajności (jest to pechowy zbieg nie dość inteligentnego zachowania bazy danych oraz niefortunnego rzutowania wartości przez pakiet //dplyr// przy generowaniu zapytań SQL, na żaden z tych czynników nie mamy jednak niestety wpływu). | ||
* Jakkolwiek postać długa może się wydawać nieintuicyjna, jest ona bardzo wygodna do dalszego analizowania danych z zastosowaniem pakietów takich jak //dplyr// czy //ggplot//. | * Jakkolwiek postać długa może się wydawać nieintuicyjna, jest ona bardzo wygodna do dalszego analizowania danych z zastosowaniem pakietów takich jak //dplyr// czy //ggplot//. | ||
* W odróżnieniu od pozostałych funkcji pobierających wyniki daje jednoczesny dostęp zarówno do wypunktowanych odpowiedzi, jak i samych dystraktorów. | * W odróżnieniu od pozostałych funkcji pobierających wyniki daje jednoczesny dostęp zarówno do wypunktowanych odpowiedzi, jak i samych dystraktorów. | ||
Linia 162: | Linia 163: | ||
=== Przykład === | === Przykład === | ||
- | Pobranie wyników testu o id 1541 (zeszyt 9 zrównywania matury z j. polskiego w 2014 r.) | + | Pobranie wyników testu o id 1601 (matura rozszerzona z biologii w 2014 roku). |
+ | |||
+ | Z uwagi na wydajność istotne jest przekazanie //id_testu// jako liczby całkowitej - stąd //as.integer(1601)//. | ||
Jak znaleźć id interesującego nas testu - patrz grupa danych [[r_gr_testy|testy]]. | Jak znaleźć id interesującego nas testu - patrz grupa danych [[r_gr_testy|testy]]. | ||
Linia 170: | Linia 174: | ||
# pobieramy dane | # pobieramy dane | ||
- | test1541 = pobierz_odpowiedzi(src) %>% | + | test1601 = pobierz_odpowiedzi(src) %>% |
# odfiltrowując porządany test | # odfiltrowując porządany test | ||
- | filter(id_testu == 1541) %>% | + | filter(id_testu == as.integer(1601)) %>% |
collect() | collect() | ||
# podglądamy pierwsze wiersze | # podglądamy pierwsze wiersze | ||
- | head(test1541) | + | head(test1601) |
</code> | </code> | ||
Linia 316: | Linia 320: | ||
=== Przykład === | === Przykład === | ||
- | Pobieramy wyniki testu 1541 (matura z j. polskiego na poziomie podstawowywm w 2014 roku) i obliczamy sumy punktów pozostawiając jednocześnie w zbiorze zmienne z punktacją za poszczególne [[kryteriumoceny|kryteria oceny]]. | + | Pobieramy wyniki testu 1541 (zeszyt 9 zrównywania matury z j. polskiego w 2014 roku) i obliczamy sumy punktów pozostawiając jednocześnie w zbiorze zmienne z punktacją za poszczególne [[kryteriumoceny|kryteria oceny]]. |
<code rsplus> | <code rsplus> | ||
Linia 339: | Linia 343: | ||
* //src// - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz() (tylko w wypadku stosowania [[r_gr_normy|norm]] pobieranych z bazy) | * //src// - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz() (tylko w wypadku stosowania [[r_gr_normy|norm]] pobieranych z bazy) | ||
* //kolWynik// - nazwa zmiennej w danych przechowującej sumy punktów | * //kolWynik// - nazwa zmiennej w danych przechowującej sumy punktów | ||
- | * //idSkali//, //skalowanie//, //grupa// - parametry pozwalające zidentyfikować w bazie danych [[r_gr_norma|normę]] do zastosowania; **dane powinny być przekształcone za pomocą tej samej skali** (tylko w wypadku stosowania [[r_gr_normy|norm]] pobieranych z bazy) | + | * //idSkali//, //skalowanie//, //grupa// - parametry pozwalające zidentyfikować w bazie danych [[r_gr_normy|normę]] do zastosowania; **dane powinny być przekształcone za pomocą tej samej skali** (tylko w wypadku stosowania [[r_gr_normy|norm]] pobieranych z bazy) |
* //...// - opcjonalne parametry funkcji //normy_ekwikwantylowe()// (tylko w wypadku wykonywania normalizacji ekwikwantylowej na podstawie przekazanych danych) | * //...// - opcjonalne parametry funkcji //normy_ekwikwantylowe()// (tylko w wypadku wykonywania normalizacji ekwikwantylowej na podstawie przekazanych danych) | ||
Linia 355: | Linia 359: | ||
collect() | collect() | ||
| | ||
- | # normalizacja ekwikwantylowa na podstawie danych | + | # normalizacja ekwikwantylowa na podstawie danych (domyślna średnia 100 i odchylenie standardowe 15) |
daneNormEkw = dane %>% | daneNormEkw = dane %>% | ||
zsumuj_punkty() %>% | zsumuj_punkty() %>% | ||
Linia 365: | Linia 369: | ||
# skala, z której pochodzi norma zrównująca | # skala, z której pochodzi norma zrównująca | ||
zastosuj_skale(src, 778) %>% | zastosuj_skale(src, 778) %>% | ||
+ | zsumuj_punkty() %>% | ||
normalizuj(src, idSkali = 778, skalowanie = 2, grupa = '') | normalizuj(src, idSkali = 778, skalowanie = 2, grupa = '') | ||
head(daneNormZrwn) | head(daneNormZrwn) |