2017-08-19 2 views
0

Es gibt mehrere Beiträge zum Aufteilen eines Datenrahmens in Stücke, z. here und here.Teilen Sie eine Liste in kleinere Teile für Transformationen (in der Hoffnung, Speicherbeschränkungen zu umgehen)

Ich habe ein Korpus von Textdaten und wie ich es verstehe, ist ein Korpus eine Liste. Ich kämpfe darum, Transformationen auf meinem Korpus auszuführen, also wollte ich versuchen, es in Stücke zu zerlegen, um Transformationen und nicht das gesamte Korpus gleichzeitig zu durchlaufen.

> length(corpus) 
[1] 1000 # sample small 1k corpus 

> typeof(corpus) 
[1] "list" 

pieces <- split(corpus, 10) 

Mein Ziel ist jeweils eine Liste von Listen der Länge 100 zu erhalten, aber nach der obigen Linie mit split() Stücken ausgeführt hat Länge ein und erscheint nur das erste Dokument in dem ursprünglichen Datenkorpus behalten zu haben.

Wie kann ich meinen Korpus in 10 Teile teilen wie in den verknüpften SO-Posts mit z. Split oder eine andere Methode?

+0

Warum führen Sie die Teilung nicht vor dem Importieren von Dokumenten in Ihr Korpus und erstellen Sie stattdessen eine Liste von Korpora? –

+0

Ja, das ist mein Backup-Plan. Ich hatte gehofft, es gibt eine einfache Art, es mit dem eigentlichen Korpus zuerst zu tun –

Antwort

1

Es sieht aus wie das zweite Argument von split() sollte ein Vektor sein. Hast du versucht pieces <- split(corpus, 1:10)?

+0

Mit 1:10 wie Sie vorschlagen, scheint die ersten zehn Elemente in der Liste zurückgeben. Mein Ziel ist es, z.B. zehn Listen der Länge 100 durch Aufspaltung Corpus in zehn –

+0

Oder vielleicht habe ich Split() missverstanden? "' '' Split (corpus, 1:10) '' 'teilt die Liste in Teile auf, wobei jeder Teil ein Zehntel der ursprünglichen Liste ist? –

+0

Ja, ich glaube, ich habe die Split-Funktion falsch verstanden, du hast recht, es braucht einen Vektor. Akzeptieren, danke fürs Hinzeigen. –

Verwandte Themen