Narzędzia użytkownika

Narzędzia witryny


r_gr_wyniki

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
r_gr_wyniki [2015/09/27 13:21]
zozlak [zastosuj_skale()]
r_gr_wyniki [2017/11/11 18:58]
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 ​j. polskiego ​w 2014 r.)+Pobranie wyników testu o id 1601 (matura rozszerzona ​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 295: Linia 299:
 # stosujemy skalę # stosujemy skalę
 dane = dane %>% dane = dane %>%
-  zastosuj_skale(41)+  zastosuj_skale(src, 41)
 # porównujemy listę zmiennych po przekształceniu - jak widać niektóre kryteria zostały złączone w pseudokryteria # porównujemy listę zmiennych po przekształceniu - jak widać niektóre kryteria zostały złączone w pseudokryteria
 setdiff(przed,​ names(dane)) setdiff(przed,​ names(dane))
Linia 313: Linia 317:
   * //dane// - dane pobrane funkcją //​pobierz_wyniki_egzaminu(),​ pobierz_wyniki_testu(),​ pobierz_wyniki_zrownywania()//​ lub //​pobierz_odpowiedzi()//​   * //dane// - dane pobrane funkcją //​pobierz_wyniki_egzaminu(),​ pobierz_wyniki_testu(),​ pobierz_wyniki_zrownywania()//​ lub //​pobierz_odpowiedzi()//​
   * //​usunKryteria//​ - czy zmienne zawierające wyniki cząstkowe ([[kryteriumoceny|kryteriów]] i/lub [[pseudokryteriumoceny|pseudokryteriów]] oceny) powinny zostać usunięte czy pozostawione w wynikowym zbiorze danych   * //​usunKryteria//​ - czy zmienne zawierające wyniki cząstkowe ([[kryteriumoceny|kryteriów]] i/lub [[pseudokryteriumoceny|pseudokryteriów]] oceny) powinny zostać usunięte czy pozostawione w wynikowym zbiorze danych
 +
 +=== Przykład ===
 +
 +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 318: Linia 326:
 src = polacz() src = polacz()
 dane = pobierz_wyniki_testu(src,​ 1541) %>% dane = pobierz_wyniki_testu(src,​ 1541) %>%
 +  collect() %>%
   zsumuj_punkty(usunKryteria = FALSE)   zsumuj_punkty(usunKryteria = FALSE)
 +head(dane)
 </​code>​ </​code>​
  
Linia 326: Linia 336:
 Dokonuje normalizacji **sum punktów** (np. wyliczonych funkcją //​zsumuj_punkty()//​) albo z użyciem wskazanej [[r_gr_normy|normy]] albo poprzez wykonanie normalizacji ekwikwantylowej przekazanych danych. Dokonuje normalizacji **sum punktów** (np. wyliczonych funkcją //​zsumuj_punkty()//​) albo z użyciem wskazanej [[r_gr_normy|normy]] albo poprzez wykonanie normalizacji ekwikwantylowej przekazanych danych.
  
-  * **Uwaga,** w wypadku stosowania normy z bazy dane powinny być przekształcone (jeszcze przed policzeniem sum punktów) za pomocą tej samej skali, jak skala, z której pochodzi norma!+  * **uwaga,** w wypadku stosowania normy z bazy dane powinny być przekształcone (jeszcze przed policzeniem sum punktów) za pomocą tej samej skali, jak skala, z której pochodzi norma!
  
 //​**normalizuj**(dane,​ src = NULL, kolWynik = "​wynik",​ //​**normalizuj**(dane,​ src = NULL, kolWynik = "​wynik",​
Linia 333: 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)
 +
 +=== Przykład ===
 +
 +Stosujemy dwie różne normy do wyników sprawdzianu z 2002 roku:
 +
 +  * normalizację ekwikwantylową na podstawie wyników sprawdzianu w 2002 roku
 +  * normę zrównującą przeliczającą wyniki z roku 2002 na odpowiadające im wyniki w roku 2013
  
 <code rsplus> <code rsplus>
Linia 342: 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() %>%
   normalizuj()   normalizuj()
 +head(daneNormEkw)
   ​   ​
 # normalizacja na podstawie normy zrównującej {idSkali, skalowanie, grupa} = {778, 2, ''​} w bazie # normalizacja na podstawie normy zrównującej {idSkali, skalowanie, grupa} = {778, 2, ''​} w bazie
 daneNormZrwn = dane %>% daneNormZrwn = dane %>%
   # skala, z której pochodzi norma zrównująca   # skala, z której pochodzi norma zrównująca
-  zastosuj_skale(778) %>%+  zastosuj_skale(src, 778) %>% 
 +  zsumuj_punkty() %>%
   normalizuj(src,​ idSkali = 778, skalowanie = 2, grupa = ''​)   normalizuj(src,​ idSkali = 778, skalowanie = 2, grupa = ''​)
 +head(daneNormZrwn)
 </​code>​ </​code>​
  
Linia 367: Linia 387:
  
 # Pobieramy grupy danych //wyniki//, //​uczniowie//,​ //​uczniowieTesty//,​ //​szkoły//: ​ # Pobieramy grupy danych //wyniki//, //​uczniowie//,​ //​uczniowieTesty//,​ //​szkoły//: ​
-wyniki ​        ​= ​pobierz_czesc_egzaminu(src, '​egzamin gimnazjalny',​ '​matematyczno-przyrodnicza',​ 2011, T)+wyniki ​        ​= ​pobierz_wyniki_egzaminu(src, '​egzamin gimnazjalny',​ '​matematyczno-przyrodnicza',​ 2011, TRUE)
 uczniowie ​     = pobierz_uczniow(src) uczniowie ​     = pobierz_uczniow(src)
 uczniowieTesty = pobierz_dane_uczniowie_testy(src) uczniowieTesty = pobierz_dane_uczniowie_testy(src)
r_gr_wyniki.txt · ostatnio zmienione: 2017/11/11 18:58 przez zozlak