Rekonstrukcja danych przeprowadzono przy użyciu pakietu IPDfromKM. Jest to metoda odtworzenia pierwotnych danych pacjentów na podstawie opublikowanych krzywych Kaplana-Meiera. Wybór pakietu podyktowany był możliwością pracy w jednym środowisku analitycznym bez konieczności eksportowania danych z innych źródeł oraz przeznaczenie pakietu do pracy z krzywymi Kaplana-Meiera.
W celu oceny dokładności oznaczania współrzędnych punktów z krzywych KM wyniki porównano z dostępnymi programami do digitalizacji wykresów. Wyniki świadczyły o lepszym dopasowaniu oznaczonych współrzędnych przy użyciu pakietu IPDfromKM.
W procesie rekonstrukcji danych zastosowano poniższe etapy:
Ekstrakcja współrzędnych punktów z krzywych Kaplana-Meiera - funkcja getpoints()
Wstępne przetwarzanie (preproces) - funkcja preprocess()
Rekonstrukcja danych - funkcja getIPD()
Wizualizacja zrekonstruowanych krzywych - funkcja survreport()
1. Wyodrębnianie/ekstrakcja współrzędnych punktów z krzywych Kaplana-Meiera
Wykres źródłowy importowany jest do środowiska R funkcją getpoints(). Jako parametry funkcji analityk wprowadza odczytane z wykresu wartości maksymalne i minimalne osi x i y.
Analityk określa liczbę obiektów odpowiadającą liczbie wykreślonych krzywych nadając im nazwy. Gdy obraz zostanie wczytany do R i wyświetlony w oknie wykresów, analityk najpierw musi kliknąć cztery punkty odpowiadające wartościom maksymalnym i minimalnym osi x i y. Następnie zadaniem analityka jest oznaczenie współrzędnych punktów poprzez kliknięcia na krzywej, dążąc do oznaczenia wszystkich punktów załamania krzywej KM
Wynik funkcji:
2. Wstępne przetwarzanie (preproces) danych wyodrębnionych z wykresu źróodłowego
Wstępne przetwarzanie danych odbywa się z wykorzystaniem funkcji preprocess(). Funkcja przetwarza następujące dane:
dwukolumnowy zestaw współrzędnych będący wynikiem funkcji getpoint() lub współrzędnych pozyskanych inną metodą - . np. z użyciem programu typu DigitizeIt.
dane z tabeli typu number at risk (o ile jest dostępna) wprowadzone manualnie przez analityka w postaci wektorow nrisk i trisk
dane dotyczące początkowej liczby pacjentów
dla zdefiniowanych wcześniej obiektów. Dodatkowo, należy przypisać skale osi y wpisując wartość maksymalna 100 w przypadku wartości procentowych lub 1 w przypadku wartości dziesiętnych.
Wynik funkcji
Funkcja preprocess() zwraca następujący zestaw danych:
preprocessdat: zestaw zmiennych (time, surv, id, interval)
intervalIndex: tabela wyświetlająca indeks punktów odczytu w każdym przedziale czasowym reprezentująca zestaw zmiennych (interval, lower, upper, t.risk, n.risk)
endpts: liczba pacjentów pozostałych na koniec badania
inputdat: zbiór danych stanowiących dane wejściowe (time, surv)
3. Rekonstrukcja danych
Rekonstrukcja danych odbywa się z wykorzystaniem funkcji getIPD(). Analityk wprowadza argumenty funkcji :
prep: obiekt klasy zwrócony przez funkcję preprocess()
armID: etykieta używana jako wskaźnik grupy, zwykle 0 dla grupy kontrolnej i 1 dla grupy leczonej.
tot.events: (opcjonalnie) łączna liczba zdarzeń
Dane wyjściowe obejmują zrekonstruowane dane pacjentów w postaci tabeli z trzema kolumnami (tj. time, status, treatment group indicator). W celu oszacowania dokładności procesu rekonstrukcji, obliczane jest prawdopodobieństwa przeżycia oraz przeprowadzane są statystyki testowe.
Wynik funkcji:
IPD: szacowane indywidualne dane pacjenta
points: tabela przedstawiająca oszacowania parametrów w każdym wczytywanym punkcie czasowym.
riskmat: tabela przedstawia indeks z punktów odczytu w każdym przedziale czasowym, a także szacunkową liczbę ocenzurowanych pacjentów i zdarzeń w każdym przedziale czasowym.
kstest: statystyki testowe i wartość p testu Kołmogorowa-Smirnowa przy porównywaniu rozkładów oszacowanych i wczytanych krzywych KM.
precision: lista przedstawiająca błąd średniokwadratowy (RMSE), średni błąd bezwzględny i maksymalny błąd bezwzględny, które mierzą różnice między oszacowanym i odczytanym prawdopodobieństwem przeżycia.
4. Wizualizacja zrekonstruowanych krzywych
Wizualizacja krzywych Kaplana-Meiera i krzywych skumulowanego hazardu dla zrekonstruowanych danych IPD. Podany jest również czasy przeżycia wraz z przedziałami ufności w punktach czasowych i interwałach.
Wynik:
wizualizacja krzywych KM na podstawie zrekonstruowanych danych pacjentów
wizualizacja krzywych skumulowanego hazardu na podstawie zrekonstruowanych danych pacjentów
oszacowany czas przeżycia dla 25%, 50% i 75% pacjentów (możliwość ręcznego określenia wartości procentowych)
prawdopodobieństwo przeżycia w interwałach czasowych
Źródła:
IPDfromKM: Reconstruct Individual Patient Data from Published Kaplan-Meier Survival Curves
Enhanced secondary analysis of survival data: reconstructing the data from published Kaplan-Meier survival curves
Pakiet R: