Narzędzia użytkownika

Narzędzia witryny


zpd_oszacowania_obserwacji

Różnice

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

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
zpd_oszacowania_obserwacji [2015/09/08 21:07]
zozlak
zpd_oszacowania_obserwacji [2015/09/08 21:09] (aktualna)
zozlak
Linia 8: Linia 8:
     - Jeśli przy pobieraniu danych nie używano parametru //​idSkali//,​ właściwa [[skala]] może jeszcze w ogóle nie istnieć w bazie - w takim wypadku należy ją utworzyć - patrz [[r_zpd_skale|definiowanie skal w pakiecie ZPD]].     - Jeśli przy pobieraniu danych nie używano parametru //​idSkali//,​ właściwa [[skala]] może jeszcze w ogóle nie istnieć w bazie - w takim wypadku należy ją utworzyć - patrz [[r_zpd_skale|definiowanie skal w pakiecie ZPD]].
   - Należy utworzyć w bazie odpowiednie [[skalowanie]].<​code>​INSERT INTO skalowania (id_skali, skalowanie, opis, estymacja, do_prezentacji,​ data) VALUES (ID_SKALI, SKALOWANIE, '​OPIS',​ '​ESTYMACJA',​ TRUE/FALSE, now());</​code>​ gdzie:   - Należy utworzyć w bazie odpowiednie [[skalowanie]].<​code>​INSERT INTO skalowania (id_skali, skalowanie, opis, estymacja, do_prezentacji,​ data) VALUES (ID_SKALI, SKALOWANIE, '​OPIS',​ '​ESTYMACJA',​ TRUE/FALSE, now());</​code>​ gdzie:
-    ​//​ID_SKALI//​ powinno być identyfikatorem [[skala|skali]],​ której użyto do pobrania danych; +    ​//​ID_SKALI//​ powinno być identyfikatorem [[skala|skali]],​ której użyto do pobrania danych; 
-    ​//​SKALOWANIE//​ powinno być numerem unikalnym w ramach danej [[skala|skali]] \\ aby zobaczyć, jakie numery są już wykorzystane,​ należy wykonać zapytanie SQL <​code>​SELECT * FROM skalowania WHERE id_skali = ID_MOJEJ_SKALI</​code>​ +    ​//​SKALOWANIE//​ powinno być numerem unikalnym w ramach danej [[skala|skali]] \\ aby zobaczyć, jakie numery są już wykorzystane,​ należy wykonać zapytanie SQL <​code>​SELECT * FROM skalowania WHERE id_skali = ID_MOJEJ_SKALI</​code>​ 
-    ​//OPIS// powinien być dość dokładny, w szczególności powinien zawierać nazwę badania i datę, np. //​skalowanie do EWD gimn.2013 z 23.10.2013//​ +    ​//OPIS// powinien być dość dokładny, w szczególności powinien zawierać nazwę badania i datę, np. //​skalowanie do EWD gimn.2013 z 23.10.2013//​ 
-    ​Możliwe wartości kolumny //​ESTYMACJA//​ to: //MML (Parscale)/​MML (Mirt)/MML (Mplus)/JML (Winsteps)/​MML (IRT.ADO)//​ +    ​Możliwe wartości kolumny //​ESTYMACJA//​ to: //MML (Parscale)/​MML (Mirt)/MML (Mplus)/JML (Winsteps)/​MML (IRT.ADO)//​ 
-      ​jeśli potrzebna jest jakaś inna wartość, należy zgłosić się do Mateusza Żółtaka. +      ​jeśli potrzebna jest jakaś inna wartość, należy zgłosić się do Mateusza Żółtaka. 
-  - Należy zdefiniować w bazie grupy użyte w danym [[skalowanie|skalowaniu]] (także w wypadku skalowania jednogrupowego,​ choć może to być po prostu grupa o pustej nazwie).<​code>​INSERT INTO skalowania_grupy (id_skali, skalowanie, grupa) VALUES (ID_SKALI, SKALOWANIE, '​GRUPA'​);</​code>​gdzie: +  - Należy zdefiniować w bazie grupy użyte w danym [[skalowanie|skalowaniu]] (także w wypadku skalowania jednogrupowego,​ choć może to być po prostu grupa o pustej nazwie).<​code>​INSERT INTO skalowania_grupy (id_skali, skalowanie, grupa) VALUES (ID_SKALI, SKALOWANIE, '​GRUPA'​);</​code>​ gdzie: 
-    ​//​ID_SKALI//​ i //​SKALOWANIE//​ - patrz opis skalowania powyżej +    ​//​ID_SKALI//​ i //​SKALOWANIE//​ - patrz opis skalowania powyżej 
-    ​//GRUPA// - nazwa grupy (może być też pusta)+    ​//GRUPA// - nazwa grupy (może być też pusta)
   - Jeśli chcemy jedynie **zaktualizować** dane [[skalowanie|skalowania]],​ które już znajdują się w bazie, musimy ją wyczyścić poleceniami SQL: \\ <​code>​DELETE FROM skalowania_elementy WHERE (id_skali, skalowanie) = (ID_SKALI, SKALOWANIE);​   - Jeśli chcemy jedynie **zaktualizować** dane [[skalowanie|skalowania]],​ które już znajdują się w bazie, musimy ją wyczyścić poleceniami SQL: \\ <​code>​DELETE FROM skalowania_elementy WHERE (id_skali, skalowanie) = (ID_SKALI, SKALOWANIE);​
 DELETE FROM skalowania_obserwacje WHERE (id_skali, skalowanie) = (ID_SKALI, SKALOWANIE);</​code>​ gdzie //​(ID_SKALI,​ SKALOWANIE)//​ identyfikują nasze [[skalowanie]] w bazie danych. \\ Uwaga, usuwanie rekordów z tablicy //​skalowania_obserwacje//​ może zająć bardzo dużo czasu (ze względu na liczbę danych przechowywanych w tej tablicy). DELETE FROM skalowania_obserwacje WHERE (id_skali, skalowanie) = (ID_SKALI, SKALOWANIE);</​code>​ gdzie //​(ID_SKALI,​ SKALOWANIE)//​ identyfikują nasze [[skalowanie]] w bazie danych. \\ Uwaga, usuwanie rekordów z tablicy //​skalowania_obserwacje//​ może zająć bardzo dużo czasu (ze względu na liczbę danych przechowywanych w tej tablicy).
Linia 41: Linia 41:
     * //-1// w przeciwnym wypadku;     * //-1// w przeciwnym wypadku;
   * //wynik// - wartość oszacowania poziomu umiejętności ucznia;   * //wynik// - wartość oszacowania poziomu umiejętności ucznia;
-  * //bl_std// - opcjonalnie błąd standardowy wartości oszacowania.+  * //bl_std// - opcjonalnie błąd standardowy wartości oszacowania
 +  * //grupa// - grupa, do której należy oszacowanie.
  
 ==== Za pomocą poleceń INSERT ==== ==== Za pomocą poleceń INSERT ====
  
 Dla każdego oszacowania (w wypadku PV dla każdego PV z osobna) wykonujemy zapytanie (wartości kapitalikami należy wypełnić stosownymi danymi): Dla każdego oszacowania (w wypadku PV dla każdego PV z osobna) wykonujemy zapytanie (wartości kapitalikami należy wypełnić stosownymi danymi):
-  * w wypadku PV<​code>​INSERT INTO skalowania_obserwacje (id_skali, skalowanie, id_obserwacji,​ id_testu, estymacja, nr_pv, wynik, bl_std) VALUES (ID_SKALI, SKALOWANIE, ID_OBSERWACJI,​ ID_TESTU, '​ESTYMACJA',​ NR_PV, WARTOSC_OSZACOWANIA,​ null);</​code>​ +  * w wypadku PV<​code>​INSERT INTO skalowania_obserwacje (id_skali, skalowanie, id_obserwacji,​ id_testu, estymacja, nr_pv, wynik, bl_std, grupa) VALUES (ID_SKALI, SKALOWANIE, ID_OBSERWACJI,​ ID_TESTU, '​ESTYMACJA',​ NR_PV, WARTOSC_OSZACOWANIA,​ null, '​GRUPA'​);</​code>​ 
-  * w wypadku innych estymacji<​code>​INSERT INTO skalowania_obserwacje (id_skali, skalowanie, id_obserwacji,​ id_testu, estymacja, nr_pv, wynik, bl_std) VALUES (ID_SKALI, SKALOWANIE, ID_OBSERWACJI,​ ID_TESTU, '​ESTYMACJA',​ -1, WARTOSC_OSZACOWANIA,​ BLAD_OSZACOWANIA);</​code>​+  * w wypadku innych estymacji<​code>​INSERT INTO skalowania_obserwacje (id_skali, skalowanie, id_obserwacji,​ id_testu, estymacja, nr_pv, wynik, bl_std, grupa) VALUES (ID_SKALI, SKALOWANIE, ID_OBSERWACJI,​ ID_TESTU, '​ESTYMACJA',​ -1, WARTOSC_OSZACOWANIA,​ BLAD_OSZACOWANIA, '​GRUPA'​);</​code>​
     * jeśli nie dyspnujemy błędem oszacowania,​ w miejsce //​BLAD_OSZACOWANIA//​ należy wstawić //null//.     * jeśli nie dyspnujemy błędem oszacowania,​ w miejsce //​BLAD_OSZACOWANIA//​ należy wstawić //null//.
  
 ==== Za pomocą polecenia COPY i programu psql ==== ==== Za pomocą polecenia COPY i programu psql ====
  
-  * Przygotowujemy plik CSV z kolumnami: id_skali, skalowanie, id_obserwacji,​ id_testu, estymacja, nr_pv, wynik, bl_std.+  * Przygotowujemy plik CSV z kolumnami: id_skali, skalowanie, id_obserwacji,​ id_testu, estymacja, nr_pv, wynik, bl_std, grupa.
   * Kompresujemy go zip-em i przesyłamy na [[odra|odrę]].   * Kompresujemy go zip-em i przesyłamy na [[odra|odrę]].
   * Rozpakowujemy go na [[odra|odrze]] poleceniem: <​code>​unzip NazwaPliku.zip</​code>​   * Rozpakowujemy go na [[odra|odrze]] poleceniem: <​code>​unzip NazwaPliku.zip</​code>​
zpd_oszacowania_obserwacji.txt · ostatnio zmienione: 2015/09/08 21:09 przez zozlak