Co to jest format pliku RDS?
Plik .rds to plik serializacji danych R utworzony przez funkcję saveRDS(). Przechowuje on dokładnie jeden obiekt R - ramkę danych, listę, model, wektor lub dowolną inną strukturę R - w natywnym binarnym formacie serializacji R. W przeciwieństwie do plików .RData tworzonych przez save(), które przywracają nazwane obiekty bezpośrednio do środowiska globalnego, pliki .rds są ładowane za pomocą readRDS() i zwracane jako wartość, którą wywołujący może przypisać do dowolnej nazwy zmiennej.
Domyślnie serializowane dane są opakowane w kompresję gzip, więc większość plików .rds otwiera się jako strumienie gzip, jeśli nie są obsługiwane jako obiekty R (magic bytes 1F 8B). Kompresję można również ustawić na bzip2, xz lub całkowicie wyłączyć za pomocą saveRDS(obj, file, compress = FALSE).
R obsługuje dwie wersje formatu serializacji: wersję 2 (R 1.4-3.4, domyślna przed R 3.5.0) i wersję 3 (domyślna od R 3.5.0, wydana w kwietniu 2018 r.), która dodaje jawne metadane kodowania dla ciągów znaków - co jest istotne dla tekstu spoza zestawu ASCII. Rozmiary plików wahają się od kilku kilobajtów dla małych wektorów do kilku gigabajtów dla dużych ramek danych lub złożonych modeli.
Pliki .rds są standardową jednostką trwałości obiektów R: analitycy używają ich do buforowania wyników pośrednich, udostępniania wytrenowanych obiektów modeli i przechowywania przetworzonych danych między sesjami. W przypadku interoperacyjnych danych kolumnowych udostępnianych między różnymi narzędziami coraz częściej preferowane są formaty takie jak .parquet; .rds pozostaje najlepszym wyborem, gdy odbiorcą jest zawsze R.
Bezpieczeństwo
RYZYKO: MEDIUMPliki RDS mogą zawierać dowolny kod R poprzez domknięcia (closures), metody S4 lub środowiska klas R5/R6. readRDS() ewaluuje obietnice (promises) i aktywne wiązania podczas dostępu. Nie otwieraj plików .rds z niezaufanych źródeł w R, ponieważ złośliwie spreparowane obiekty mogą wykonać kod podczas deserializacji. Zespół R Core odnotował to ryzyko w dokumentacji.
Szczegóły formatu
w pigułce- Ray Dream Studio Scene File - Stary format animacji 3D z lat 90. firmy Ray Dream Inc. / MetaCreations (później Carrara/DAZ); binarny z magic bytes „RD ” (0x33 0x44 0x43 0x20 w hex „3DC ”); oprogramowanie jest porzucone, pliki nieczytelne dla nowoczesnych narzędzi.
Programy otwierające pliki RDS
Szczegóły techniczne
specyfikacja| Kodowanie | Binarne (domyślnie skompresowane gzip); obsługiwane są również warianty bzip2, xz lub nieskompresowane |
| Przechowywane obiekty | Dokładnie jeden obiekt R na plik - dowolny typ SEXP: wektor, lista, data.frame, model, odniesienie do środowiska itp. |
| Wersja formatu serializacji | Wersja 2 (R 1.4-3.4) lub wersja 3 (R 3.5+, domyślna od 2018); numer wersji zapisany w nagłówku strumienia |
| Domyślna kompresja | gzip (compress=TRUE); alternatywy: bzip2, xz lub brak (compress=FALSE) |
| Magic bytes | 1F 8B (nagłówek gzip, skompresowany); 58 0A (XDR nieskompresowany); 41 0A (ASCII nieskompresowany) |
| Kolejność bajtów | Big-endian XDR (External Data Representation) dla surowego strumienia serializacji; kontener kompresji jest niezależny od platformy |
| Zakres serializacji | Pojedynczy obiekt R (w przeciwieństwie do .RData, który przechowuje jeden lub więcej nazwanych obiektów przywracanych do środowiska wywołującego) |
| Metadane kodowania znaków | Format wersji 3 osadza jawne metadane kodowania dla ciągów znaków, umożliwiając poprawną obsługę treści spoza ASCII |
| Typowy rozmiar pliku | Od kilku KB (małe wektory) do kilku GB (duże ramki danych, wytrenowane modele uczenia maszynowego) |
| Funkcje odczytu/zapisu | readRDS() zwraca obiekt jako wartość; saveRDS() go zapisuje - wywołujący przypisuje dowolną nazwę zmiennej przy ładowaniu |
| Kompatybilność platform | Wieloplatformowy; Windows, Linux i macOS generują identyczne strumienie serializacji |
| Weryfikacja kompresji | Sprawdź magic bytes za pomocą edytora szesnastkowego lub użyj funkcji połączeń R gzcon() / file(), aby potwierdzić opakowanie gzip |
| Wydano | 2001 (R 1.4.0, saveRDS/readRDS introduced) |
| Najnowsza wersja | Serialization format version 3 (R 3.5.0, 2018) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | stat.ethz.ch |
Konwersje RDS
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki RDS.