Narzędzia użytkownika

Narzędzia witryny


r_gr_kryteriaoceny

To jest stara wersja strony!


Grupa danych kryteriaOceny

Wstęp

  • Jednostką obserwacji w grupie danych jest wystąpienie kryterium oceny lub pseudokryterium oceny w teście oraz skali.
    Stąd to samo kryterium oceny może się pojawiać w zbiorze danych wielokrotnie.

    • Taka konstrukcja umożliwia łatwe łączenie z grupami danych testy oraz skale.
    • Aby uniknąć duplikatów należy usunąć ze zbioru niepotrzebne zmienne, a następnie zastosować funkcję distinct():
      • chcąc uniknąć duplikatów ze względu na testy należy usunąć zmienne id_testu, popr_dystraktor oraz kolejnosc_kryt;
      • chcąc uniknąć duplikatów ze względu na skale należy usunąć zmienne id_skali oraz kolejnosc_w_skali.
    • Alternatywnie można zachować jedynie istotne zmienne, a następnie zastosować funkcję distinct().
  • Listę zmiennych zawartych w tej grupie danych znajdziesz tutaj.

Funkcje

  • pobierz_kryteria_oceny(src),
    Pobiera informacje o pytaniach, kryteriach oceny, ich przypisaniu do testów oraz skal
    Parametry:
    • src - zmienna zawierająca połączenie z bazą danych zwrócone przez funkcję polacz()
  • 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()
  • 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()

Przykładowe zastosowania

Pobranie informacji o maksymalnej liczbie punktów w teście

library(ZPD)
src = polacz()
 
# pobieramy wszystkie testy
testy = pobierz_testy(src)
# pobieramy wszystkie kryteria oceny
maksPkt = pobierz_kryteria_oceny(src) %>%
  # zostawiamy tylko istotne zmienne i usuwamy duplikaty
  select(id_testu, kryterium, l_punktow) %>%
  distinct() %>%
  # usuwamy pseudokryteria oceny
  filter(kryterium ~ '^k') %>%
  # grupujemy po //id_testu//
  group_by(id_testu) %>%
  # agregujemy sumując //l_punktow//
  summarize(maks_pkt = sum(l_punktow)) %>%
  # złączamy z testami
  inner_join(testy) %>%
  # pobieramy z serwera
  collect()
maksPkt

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.

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.

Pobranie wszystkich testów, w których wystąpiło dane pytanie

Chcemy sprawdzić, w których testach zrównujących wykorzystano pytanie 2 z arkusza mc1 (jedno z pytań kotwicy zewnętrznej testów zrównujących).

library(ZPD)
src = polacz()
 
#  pobieramy z bazy całą grupę danych testy
testy = pobierz_testy(src) %>%
  collect()
# pobieramy z bazy całą grupę danych kryteriaOceny
kryteria = pobierz_kryteria_oceny(src) %>% 
  collect()
 
# odnajdujemy test mc1
mc1 = testy %>%
  filter(grepl('mc1', opis_testu))
 
# odfiltrowujemy kryteria, tak by były tam jedynie zadania, które:
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') %>%
  # znajdują się w teście mc1
  semi_join(mc1) %>%
  # z odfiltrowanych kryteriów pozostawiamy jedynie zmienną identyfikującą kryterium oceny
  select(kryterium) %>%
  # usuwamy duplikaty
  distinct()
 
# odfiltrowujemy z grupy danych kryteria, tak by zostały w niej jedynie informacje o wyszukanym przed chwilą kryterium oceny
kryteria %>%
  semi_join(kryterium) %>%
  # pozostawiamy tylko istotne zmienne i usuwamy duplikaty
  select(id_testu, kryterium) %>%
  distinct() %>%
  # dołączamy informacje o testach
  inner_join(testy)

Warto zauważyć, że gdybyśmy znali id_kryterium poszukiwanego pytania (np. k_1576), wyszukiwanie uprościłoby się do:

library(ZPD)
src = polacz()
 
testy = pobierz_testy(src)
pobierz_kryteria_oceny(src) %>%
  filter(kryterium == 'k_1576') %>%
  select(id_testu) %>%
  distinct() %>%
  inner_join(testy) %>%
  collect()
r_gr_kryteriaoceny.1442008419.txt.gz · ostatnio zmienione: 2015/09/11 23:53 przez zozlak