Narzędzia użytkownika

Narzędzia witryny


r_gr_kryteriaoceny

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_kryteriaoceny [2015/09/11 21:19]
zozlak
r_gr_kryteriaoceny [2017/11/10 09:34] (aktualna)
zozlak [Funkcje]
Linia 3: Linia 3:
 ===== Wstęp ===== ===== Wstęp =====
  
-  * Przechowuje informacje z banku zadań o [[kryteriumoceny|kryteriach oceny]], ​[[pytanie|pytaniach]], jak również ich występowaniu w [[test|testach]] i [[skala|skalach]]. +  * Przechowuje informacje z banku zadań o
-  **Jednostką obserwacji** w grupie danych jest **wystąpienie ​[[kryteriumoceny|kryterium ​oceny]] ​[[test|teście]] oraz [[skala|skali]]**Stąd **to samo kryterium oceny może się pojawiać w zbiorze danych wielokrotnie**. +    * [[pytanie|pytaniach]] 
-    * Taka konstrukcja umożliwia łatwe łączenie z grupami danych ​[[r_gr_testy|testy]] oraz [[r_gr_skale|skale]]+    * [[kryteriumoceny|kryteriach ​oceny]],  
-    * Aby uniknąć duplikatów należy usunąć ze zbioru niepotrzebne zmienne, a następnie zastosować funkcję [[r_dplyr_wiersze#​distinct|distinct()]]:​ +    * [[pseudokryteriumoceny|pseudokryteriach oceny]],  
-      * chcąc uniknąć duplikatów ze względu na testy należy usunąć zmienne //id_testu, popr_dystraktor//​ oraz //​kolejnosc_kryt//;​ +    * występowaniu powyższych w [[test|testach]] [[skala|skalach]].
-      * chcąc uniknąć duplikatów ze względu na skale należy usunąć zmienne //​id_skali//​ oraz //​kolejnosc_w_skali//​.+
  
-  * Listę zmiennych zawartych w tej grupie danych znajdziesz [[r_gr#​podsumowanie_informacji_o_grupach_danych|tutaj]].+  ​* **Jednostką obserwacji** w grupie danych **jest wystąpienie [[kryteriumoceny|kryterium oceny]] (także jako elementu składowego [[pseudokryteriumoceny|pseudokryterium oceny]]) w [[test|teście]] oraz [[skala|skali]]**. \\ Stąd **to samo kryterium oceny może się pojawiać w zbiorze danych wielokrotnie**. 
 +  * **Typowo tak szczegółowo określona jednostka obserwacji nie jest wygodna w użyciu.** Stąd funkcja //​pobierz_kryteria_oceny()//​ umożliwia ograniczenie zakresu pobieranych danych do: 
 +    * jedynie informacji o kryteriach i pseudokryteriach oceny (z pominięciem danych o ich występowaniu w testach i skalach) 
 +    * informacji o kryteriach i pseudokryteriach oceny oraz ich występowaniu w testach (z pominięciem informacji o ich występowaniu w skalach) 
 +    * informacji o kryteriach i pseudokryteriach oceny oraz ich występowaniu w skalach (z pominięciem informacji o ich występowaniu w testach) 
 +    * można także wybrać, czy traktować pseudokryteria oceny jak pojedyczne kryteria, czy w rozbiciu na kryteria składowe 
 +  * W wypadku korzystania z pełnych danych (a więc z dołączonymi spermutowanymi przez siebie informacjami o występowaniu (pseudo)kryteriów oceny w testach i skalach) należy zwrócić szczególną uwagę na występowanie w danych duplikatów wynikających z tych permutacji. Jest to najczęstsza przyczyna błędów w analizach z wykorzystaniem tej grupy danych. 
 + 
 +  * Korzystając z grupy danych należy pamiętać o tym, że **zawiera ona także "​nietypowe twory"​**,​ które są zbiorami "​normalnych"​ [[kryteriumoceny|kryteriów oceny]]. Najłatwiej odfiltrować je po wartości zmiennej //​typ_pytania//​. Te "​dziwne twory" to: 
 +    * [[pseudokryteriumoceny|pseudokryteria oceny]] 
 +    * //​pseudopytania//​ - "​pytania",​ które występują w zbiorach danych z wynikami testów i przechowują sumę punktów za całe zakresy pytań w teście 
 + 
 +  * Dwie najbliżej powiązane grupy danych to 
 +    * [[r_gr_testy|testy]],​ gdzie znaleźć można dokładne informacje o testach 
 +    * [[r_gr_parametry|parametry]],​ gdzie znajdują się parametry psychometryczne kryteriów i pseudokryteriów oceny. 
 + 
 +  ​* Listę zmiennych zawartych w tej grupie danych znajdziesz [[r_zmienne?​zm=kryteriaoceny|tutaj]].
  
 ===== Funkcje ===== ===== Funkcje =====
  
-  * //​**pobierz_kryteria_oceny**(src)//,​ \\ Pobiera ​inforamacje ​o pytaniach, kryteriach oceny oraz ich przypisaniu do testów \\ Parametry:+  * //​**pobierz_kryteria_oceny**(src, testy = TRUE, skale = TRUE, kryteria = TRUE)//, \\ Pobiera ​informacje ​o pytaniach, kryteriach ocenyich przypisaniu do testów ​oraz skal \\ **Uwaga** parametry //testy// i //skale// zmieniają jednostkę obserwacji zwracanych danych (czytaj więcej we wstępie)! ​\\ Parametry:
     * //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()
 +    * //testy// - czy pobierać informacje o występowaniu [[kryteriumoceny|kryteriów]] i [[pseudokryteriumoceny|pseudokryteriów]] oceny w [[test|testach]]
 +    * //skale// - czy pobierać informacje o występowaniu [[kryteriumoceny|kryteriów]] i [[pseudokryteriumoceny|pseudokryteriów]] oceny w [[skala|skalach]]
 +    * //​kryteria//​ - czy dla [[pseudokryteriumoceny|pseudokryteriów oceny]] pobierać informacje o [[kryteriumoceny|kryteriach oceny]], z których się składają
 +
   * //​**pobierz_schematy_odp**(src)//,​ \\ Pobiera pełne schematy odpowiedzi pytań. Schemat łączy się z pytaniem poprzez zmienną //​schemat_odp//​ \\ Parametry:   * //​**pobierz_schematy_odp**(src)//,​ \\ Pobiera pełne schematy odpowiedzi pytań. Schemat łączy się z pytaniem poprzez zmienną //​schemat_odp//​ \\ Parametry:
     * //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()
 +
   * //​**pobierz_schematy_pkt**(src)//,​ \\ Pobiera pełne schematy punktowania kryteriów oceny. Schemat łączy się z kryterium oceny poprzez zmienną //​schemat_pkt//​ \\ Parametry:   * //​**pobierz_schematy_pkt**(src)//,​ \\ Pobiera pełne schematy punktowania kryteriów oceny. Schemat łączy się z kryterium oceny poprzez zmienną //​schemat_pkt//​ \\ Parametry:
     * //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()
Linia 31: Linia 51:
 # pobieramy wszystkie testy # pobieramy wszystkie testy
 testy = pobierz_testy(src) testy = pobierz_testy(src)
-# pobieramy ​wszystkie kryteria ​oceny +# pobieramy ​informacje o kryteriach ​oceny i ich występowaniu w testach 
-maksPkt = pobierz_kryteria_oceny(src) %>% +# (pomijamy informacje o ich występowaniu w skalach) 
-  # zostawiamy tylko interesujące nas zmienne i usuwamy duplikaty +maksPkt = pobierz_kryteria_oceny(src, testy = TRUE, skale = FALSE) %>% 
-  ​select(id_testu, l_punktow%>% +  # pozostawiamy jedynie "​normalne"​ pytania ​ 
-  ​distinct() %>%+  ​(patrz opis zmiennej typ_pytania na http://​zpd.ibe.edu.pl/​doku.php?​id=r_zmienne
 +  ​filter(!typ_pytania %in% c('​pseudopytanie',​ '​pseudokryterium'​)) %>%
   # grupujemy po //​id_testu//​   # grupujemy po //​id_testu//​
   group_by(id_testu) %>%   group_by(id_testu) %>%
Linia 47: Linia 68:
 </​code>​ </​code>​
  
-=== Uwaga ===+=== Uwagi ===
  
-W egzaminie maturalnym z języka polskiego do roku 2014 (włącznie) występuje kryterium oceny //walory//, które **nie liczy się do maksymalnej liczby punktów**, które można było uzyskać w teście. Działa to w ten sposób, że jeśli razem z punktami za kryterium //walory// uczeń uzyskał mniej niż 70 punktów (maksymalna liczba punktów bez uwzględnienia //​walorów//​),​ to zalicza mu się ta suma, jeśli zaś więcej, to jego wynik jest "​przycinany"​ do 70 punktów. +  * W egzaminie ​**maturalnym z języka polskiego do roku 2014 (włącznie)** występuje kryterium oceny //walory//, które **nie liczy się do maksymalnej liczby punktów**, które można było uzyskać w teście. Działa to w ten sposób, że jeśli razem z punktami za kryterium //walory// uczeń uzyskał mniej niż 70 punktów (maksymalna liczba punktów bez uwzględnienia //​walorów//​),​ to zalicza mu się ta suma, jeśli zaś więcej, to jego wynik jest "​przycinany"​ do 70 punktów. ​\\ Z uwagi na brak jakiegokolwiek statystycznego sensu takiego postępowania oraz jednostkowe występowanie powyższa zasada **nie jest** w żaden sposób **uwzględniana** w strukturze bazy danych
- +  * W wypadku, gdy **egzamin zawiera pytania z możliwością wyboru tematu** (np. matura z j. polskiego, matura rozszerzona z WOS lub z historii), wtedy w powyższym kodzie każdy z tematów policzony zostanie oddzielnie, zawyżając tym samym łączną liczbę punktów. 
-Z uwagi na brak jakiegokolwiek statystycznego sensu takiego postępowania oraz jednostkowe występowanie powyższa zasada **nie jest** w żaden sposób **uwzględniana** w strukturze bazy danych.+  * W wypadku **matury z j. polskiego w //nowej formule// od 2015 roku** choć w schemacie oceniania kryteria //a// oraz //b// omawiane są osobno, to na kartach punktacji odnotowywana jest jedynie ich łączna punktacja. Powoduje to, że w bazie danych istnieją zarówno kryteria oceny //a// oraz //b// (dla odnotowania faktycznej struktury arkusza), jak i kryterium //ab// (w którym umieszczana jest suma punktów w taki sposób, w jaki gromadzą je OKE). W powyższym przykładzie zliczane są one niezależnie od siebie powodując, że łączna liczba punktów za kryteria //a// oraz //b// ulega podwojeniu. Ten wyjątek wchodzi w interakcję z opisanym w punkcie poprzednim.
  
 ==== Pobranie wszystkich testów, w których wystąpiło dane pytanie ==== ==== Pobranie wszystkich testów, w których wystąpiło dane pytanie ====
Linia 61: Linia 82:
 src = polacz() src = polacz()
  
 +#  pobieramy z bazy całą grupę danych testy
 testy = pobierz_testy(src) %>% testy = pobierz_testy(src) %>%
   collect()   collect()
-kryteria = pobierz_kryteria_oceny(src) %>​% ​+# pobieramy z bazy dane o kryteriach oceny i ich występowaniu w testach 
 +# (pomijamy informacje o występowaniu w skalach) 
 +kryteria = pobierz_kryteria_oceny(src, testy = TRUE, skale = FALSE) %>​% ​
   collect()   collect()
  
 +# odnajdujemy test mc1
 mc1 = testy %>% mc1 = testy %>%
   filter(grepl('​mc1',​ opis_testu))   filter(grepl('​mc1',​ opis_testu))
   ​   ​
 +# odfiltrowujemy kryteria, tak by były tam jedynie zadania, które:
 kryterium = kryteria %>% kryterium = kryteria %>%
 +  # w teście, z którego pochodzą, mają numer 2 
 +  # (ponieważ numer zadania w ogólności nie musi być liczbą i zmienna numer_pytania jest typu character, piszemy '​2'​)
   filter(numer_pytania == '​2'​) %>%   filter(numer_pytania == '​2'​) %>%
 +  # znajdują się w teście mc1
   semi_join(mc1) %>%   semi_join(mc1) %>%
 +  # z odfiltrowanych kryteriów pozostawiamy jedynie zmienną identyfikującą kryterium oceny
   select(kryterium)   select(kryterium)
  
 +# odfiltrowujemy z grupy danych kryteria, tak by zostały w niej jedynie informacje o wyszukanym przed chwilą kryterium oceny
 kryteria %>% kryteria %>%
   semi_join(kryterium) %>%   semi_join(kryterium) %>%
 +  # pozostawiamy tylko istotne zmienne i usuwamy duplikaty
   select(id_testu,​ kryterium) %>%   select(id_testu,​ kryterium) %>%
 +  # dołączamy informacje o testach
   inner_join(testy)   inner_join(testy)
 </​code>​ </​code>​
- 
-  * pobieramy z bazy całą grupę danych //testy//; 
-  * pobieramy z bazy całą grupę danych //​kryteriaOceny//;​ 
- 
-  * odnajdujemy test //mc1//; 
- 
-  * odfiltrowujemy kryteria, tak by były tam jedynie zadania, które: 
-    * w teście, z którego pochodzą, mają numer 2 (ponieważ numer zadania w ogólności nie musi być liczbą i zmienna //​numer_pytania//​ jest typu //​character//,​ piszemy '​2'​);​ 
-    * znajdują się w teście //mc1// (//​semi_join(mc1)//​);​ 
-  * z odfiltrowanych kryteriów pozostawiamy jedynie zmienną identyfikującą kryterium oceny; 
- 
-  * odfiltrowujemy z grupy danych kryteria, tak by zostały w niej jedynie informacje o wyszukanym przed chwilą kryterium oceny - ponieważ jednostką obserwacji w zbiorze danych jest wystąpienie kryterium w teście, jest to właśnie to, czego szukamy; 
-  * aby dowiedzieć się więcej o tych testach (niż samo //​id_testu//​) złączamy jeszcze z grupą danych //testy//. 
  
 Warto zauważyć, że gdybyśmy znali //​id_kryterium//​ poszukiwanego pytania (np. //​k_1576//​),​ wyszukiwanie uprościłoby się do: Warto zauważyć, że gdybyśmy znali //​id_kryterium//​ poszukiwanego pytania (np. //​k_1576//​),​ wyszukiwanie uprościłoby się do:
Linia 100: Linia 120:
  
 testy = pobierz_testy(src) testy = pobierz_testy(src)
-pobierz_kryteria_oceny(src) %>%+pobierz_kryteria_oceny(src, testy = TRUE, skale = FALSE) %>%
   filter(kryterium == '​k_1576'​) %>%   filter(kryterium == '​k_1576'​) %>%
   select(id_testu) %>%   select(id_testu) %>%
r_gr_kryteriaoceny.1441999183.txt.gz · ostatnio zmienione: 2015/09/11 21:19 przez zozlak