2017-11-14 3 views
0

Ich werde eine große Matrix (Datenrahmen) in R erzeugen, deren Größe ungefähr 1300000 * 10000, ungefähr 50 GB ist. Ich möchte diese Matrix in einem geeigneten Format speichern, damit ich später die Daten in Python oder andere Programmcodes eingeben kann, um eine Analyse durchzuführen. Natürlich kann ich die Daten nicht einmal füttern, also muss ich die Matrix unterteilen und sie nach und nach füttern. Aber ich weiß nicht, wie man die Matrix speichert. Ich denke an zwei Möglichkeiten, aber ich denke, weder ist angemessen: (1) Klartext (einschließlich CSV oder Excel-Tabelle), weil es sehr schwierig ist, Teilmenge (zB wenn ich nur einige Spalten und einige Zeilen der Daten wollen) (2) Datenbank, Ich habe Informationen über MySQL und SQLite durchsucht, aber es scheint, dass die Anzahl der Spalten in SQL-Datenbank (1024) begrenzt ist. Also ich möchte nur wissen, ob es gute Strategien zum Speichern der Daten gibt, so dass ich die Daten nach Zeilen/Spalten-Indizes oder Namen unterteilen kann.Wie man große Matrix (Datenrahmen) speichert, die später leicht subsettiert werden kann

+0

niemand weiß? –

+0

Müssen Sie nach einer der 10K-Spalten suchen? Oder nur ein paar von ihnen? –

+0

Nun, eigentlich muss ich jetzt nur noch nach einer Spalte suchen: jede Zeile hat einen rowname und ich muss nur nach rowname/columnname unterteilen –

Antwort

0

Haben Sie separate Spalten für jede der wenigen Spalten, nach denen Sie suchen/filtern müssen. Fügen Sie dann die gesamten 10 KB-Spalten in ein Datenformat ein, das für den zu analysierenden Client-Code geeignet ist. JSON ist eine übliche Möglichkeit.

So ist die Tabelle würden 1.3M Reihen und vielleicht drei Spalten: ein id (auto_increment, Primärschlüssel), die Spalte Suche auf, und die JSON blob - als Datentyp JSON oder TEXT (je nach Software-Version) für die viele Daten Werte.

Verwandte Themen