zapisz_pojedyncze_skalowanie: Zapis wynikow skalowania do bazy

View source: R/zapisz_skalowanie.R

zapisz_pojedyncze_skalowanieR Documentation

Zapis wynikow skalowania do bazy

Description

Funkcja zapisuje do bazy wyniki pojedynczego skalowania

Usage

zapisz_pojedyncze_skalowanie(
  P,
  x,
  doPrezentacji = FALSE,
  nadpisz = FALSE,
  oszacowaniaDoCopy = TRUE,
  proba = -1
)

Arguments

P

połączenie z bazą danych uzyskane z DBI::dbConnect(RPostgres::Postgres())

x

obiekt klasy wynikiSkalowania

doPrezentacji

wartość logiczna - jeśli tworzone będzie nowe skalowanie, to czy ma ono zostać oznaczone jako 'do przezentacji'?

nadpisz

wartość logiczna - czy elementy skali powinny być nadpisane?

oszacowaniaDoCopy

wartość logiczna - czy zamiast wczytywać oszacowania umiejętności do tablicy skalowania_obserwacje przy pomocy poleceń INSERT (jak wszystko inne), wygenerować plik csv, który będzie można wczytać do bazy komendą COPY przez psql?

proba

opcjonalnie liczba natrualna - wielkość próby, jaka ma być wylosowana z elementu skalowanie_obserwacje przed dokonaniem zapisu; przydatne (tylko) do testów działania funkcji

Details

Jeśli argument nadpisz ma wartość TRUE i w bazie jest już zapisane dane skalowanie, to funkcja wymaga, aby obiekt x miał wszystkie elementy, które już są zapisane w bazie. Np. jeśli w bazie zapisano powiązane z danym skalowaniem parametry, x musi zawierać element skalowania_elementy itd. Wszystkie wpisy w bazie, powiązane z danym skalowaniem zostaną w takiej sytuacji usunięte i nadpisane nowymi.

Jeśli argument nadpisz ma wartość FALSE i w bazie jest już zapisane dane skalowanie, funkcja najpierw sprawdzi, czy dane przekazywane do zapisania, które odnoszą się do tabeli skalowania_grupy są dokładnie takie same, jak dane już zapisane w bazie. Jeśli tak, spróbuje dopisać dane odnoszące się do tablic skalowania_elementy, skalowania_obserwacje, i normy do danych już istniejących w bazie. Jeśli napotka przy tym jakieś konflikty, zaniecha zapisu jakichkolwiek danych.

Oszacowania umiejętności domyślnie (oszacowaniaDoCopy = TRUE) nie są wczytywane do bazy, gdyż trwałoby to koszmarnie długo (po 4-6 h na część egzaminu). Zamiast tego zapisywany jest na dysku skompresowany (w formacie zip) plik csv (w formacie zgodnym z wynikiem działania write.csv), który należy przenieść na komputer, na którym ma się otwarte połączenie z bazą przy pomocy programu psql (może być on otwarty również spod PgAdmina!) i tam rozpakować, a następnie wczytać do bazy wywołując w psql polecenie \copy skalowania_obserwacje FROM 'ścieżka-do-pliku' WITH DELIMITER ',' CSV HEADER NULL AS 'null';.

Uwaga! Jeśli oszacowaniaDoCopy = TRUE i nadpisz = TRUE, to w ramach wywołania funkcji usunięte zostaną dotychczasowe wartości tablicy skalowania_obserwacje powiązane z danymi skalami-skalowaniami, ale nowe nie zostaną wczytane automatycznie.

Value

funkcja nic nie zwraca


zozlak/ZPDzapis documentation built on Jan. 28, 2024, 3:18 p.m.