2016-11-26 5 views
0

Ich versuche, 10 weitere Zeilen am Ende einer Excel-Tabelle hinzuzufügen (derzeit 27k Zeilen lang)OutOfMemoryError (Java): Java Heap-Speicher

options(java.parameters = "-Xmx4g") ; 
library(XLConnect) ; 
writeWorksheetToFile("H:/R/myfile.xlsx",DataTable,sheet="Sheet1",startRow=row1,startCol=1,header=FALSE,rownames=FALSE) 

nach einigen Sekunden erhalte ich den Fehler

OutOfMemoryError (Java): Java-Heap-Speicher

Wie kann ich das beheben? Sollten keine Optionen (java.parameters = "-Xmx4g") funktionieren?

+0

'Sollten Optionen nicht funktionieren?' ... nicht, wenn das, was Sie versuchen zu tun, den verfügbaren Heap-Speicher überschreitet. Welche Version von Java verwenden Sie (z. B. 64-Bit Java 8)? –

+0

Mit 'Optionen (java.parameters =" -Xmx512m ")' es funktioniert nicht? Für Ihre Daten, die in Bytes schwach sind, sollte es genug sein. Wenn Sie den Heap-Speicherplatz überschreiten, wird der Wert möglicherweise nicht berücksichtigt. Versuchen Sie, mit jvisualvm oder ähnlichen Tools zu überprüfen, ob der Speicher zur Laufzeit entsprechend konfiguriert ist. – davidxxx

+0

Versuchen Sie es mit 'java.parameters =" -Xmx8g "' –

Antwort

0

Versuchen Sie, das Paket openxlsx zu verwenden. Ich hatte Probleme mit XLConnect und Java.

+0

Ich mag XLconnect, aber ich gebe wegen nicht deterministischer Fehler auf, die immer auftauchen. Nun führe ich 'm = Matrix (c (1,2,3,4,5,6,7,8,9), 3) aus; writeWorksheetToFile ("H: /R/m.xlsx", m, Blatt = "Sheet1", rownames = FALSE); 'gibt mir' Fehler: ClassCastException (Java): org.apache.xmlbeans.impl.values.XmlComplexContentImpl kann nicht sein Cast nach org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr' natürlich, wenn ich den gleichen Code auf einer anderen Ausführung von R laufen, funktioniert es perfekt. – Carlo

+0

HI @DataMunger Ich versuche, openxlsx zu verwenden, aber ich erhalte den Fehler "Versuchen Sie, Install :: install.rtools() auf Windows". Wenn ich das versuche, erhalte ich einen noch mysteriöseren "Fehler in loadNamespace (Name): Es gibt kein Paket namens 'installr'" und ich kann dieses rtools nicht in der Paketliste finden. Was soll ich tun, um irgendwelche Aktivitäten mit openslsx durchzuführen? – Carlo

+0

Sie finden Rtools unter setup_rtools {devtools} \t R Dokumentation Finden Sie rtools. Beschreibung Um Binärpakete in Windows zu erstellen, muss Rtools (gefunden unter http://cran.r-project.org/bin/windows/Rtools/) auf dem Pfad sein. Der Standardinstallationsprozess fügt es nicht hinzu, daher findet dieses Skript es (zuerst auf dem Pfad und dann in der Registrierung). Es überprüft auch, dass die Version von RTools entspricht der Version von R. Nutzungs setup_rtools (Cache = TRUE, debug = FALSCH) Diese erlauben sollten Sie RTools installieren und dann sollten Sie gut mit openxlsx zu gehen. –

Verwandte Themen