2013-10-16 22 views
19

I-Codes schreibe Datenbank von R in Excel zu exportieren, habe ich andere Codes versuchen, einschließlich:Daten nach Excel exportieren

write.table(ALBERTA1, "D:/ALBERTA1.txt", sep="\t") 
write.csv(ALBERTA1,":\ALBERTA1.csv") 
your_filename_in_R = read.csv("ALBERTA1.csv") 
your_filename_in_R = read.csv("ALBERTA1.csv") 
write.csv(df, file = "ALBERTA1.csv") 
your_filename_in_R = read.csv("ALBERTA1.csv") 
write.csv(ALBERTA1, "ALBERTA1.csv") 
write.table(ALBERTA1, 'clipboard', sep='\t') 
write.table(ALBERTA1,"ALBERTA1.txt") 
write.table(as.matrix(ALBERTA2),"ALBERTA2.txt") 
write.table(as.matrix(vecm.pred$fcst$Alberta_Females[,1]), "vecm.pred$fcst$Alberta_Females[,1].txt") 
write.table(as.matrix(foo),"foo.txt") 
write.xlsx(ALBERTA2, "/ALBERTA2.xlsx") 
write.table(ALBERTA1, "D:/ALBERTA1.txt", sep="\t"). 

Andere Benutzer dieses Forums hat mir geraten, dieses:

write.csv2(ALBERTA1, "ALBERTA1.csv") 
write.table(kt, "D:/kt.txt", sep="\t", row.names=FALSE) 

enter image description here

Sie können auf den Bildern das Ergebnis sehen, das ich von diesen Codes oben erhalten habe. Diese Zahlen können jedoch nicht für weitere Operationen wie die Addition mit anderen Matrizen verwendet werden.

Hat jemand diese Art von Problemen erlebt?

+1

Wenn Sie nicht die Ausgabe von 'dput (ALBERTA1)' oder 'dput (head (ALBERTA1)) 'posten, können wir Ihnen nicht helfen. Es würde zu viel Rätselraten geben. –

+1

Beachten Sie, dass dies eine Follow-up auf [this] (http://stackoverflow.com/q/19385494/324364) Frage ist. – joran

+0

Die ersten 6 Zahlen auf der RGUI-Schnittstelle sind die folgenden: 55.5486398, 57.8471114, 54.5190511, 50.5751821, 49.4739451, 53.4697459. Sie können überprüfen, dass jeder Ausgang einen kurzen Dezimalteil hat. Wenn ich jedoch die gleiche Liste von Zahlen in Excel über die oben dargestellten Codes übertrage, erhalte ich die folgende unklare Ausgabeform: 555.486.398.454.784, 578.471.113.839.479, 54.519.051.119.506, 49.473.945.115.391, 534.697.459.336.592, 505.751.821.039.884 .. etc natürlich nicht handhabbar Sie können sehen, dass 555.486.398.454.784 (in Excel) ist völlig anders als 55.5486398 (R-GUI-Schnittstelle). –

Antwort

9

Die WriteXLS Funktion aus dem WriteXLS Paket kann Daten in Excel schreiben.

Alternativ funktioniert auch write.xlsx aus dem xlsx Paket.

+5

'xlsx' benötigt Java. 'WriteXLS' benötigt Perl. Wenn diese aus irgendeinem Grund nicht von R aus erreichbar sind (ich kann nicht so einfach auswählen, was ich auf meinem Firmencomputer installieren soll), dann wird keiner von beiden funktionieren. (Ich verstehe, dass es für die Entwickler bequem ist, sich auf die vorhandenen Java- und Perl-Bibliotheken zu verlassen; aber sollte R nicht auf eigenen Beinen stehen?) – StasK

+1

'writeXLS' kann nicht mit Zeilenumbrüchen in Zeichen umgehen. – Ruben

20

Kürzlich verwendete xlsx-Paket, funktioniert gut.

library(xlsx) 
write.xlsx(x, file, sheetName="Sheet1") 

wobei x eine data.frame

+3

'xlsx' benötigt Java. Wenn aus irgendeinem Grund nicht auf R zugegriffen werden kann (seltsame Einstellungen auf Firmencomputern), wird dies nicht funktionieren. – StasK

+0

Fügen Sie den jre-Pfad von java in den Systemvariablen Pfad hinzu, dann kann R auf Java-Funktionen zugreifen. Wechseln Sie dazu zu Eigenschaften von Arbeitsplatz, dann zu Erweiterte Systemeinstellungen und dann zu Umgebungsvariablen. Fügen Sie einen Java-Pfad zu "Pfad" hinzu. –

0

Ich habe die Funktion, die verschiedenen Pakete inklusive Ausprobieren:

install.packages ("prettyR") 

library (prettyR) 

delimit.table (Corrvar,"Name the csv.csv")## Corrvar ist ein Name eines Objekts von einem Ausgang hatte ich auf skalierten Variablen, um eine Regression auszuführen.

Allerdings habe ich diesen gleichen Code für eine Ausgabe aus einer anderen Analyse (Belegungsmodelle Modellauswahl Ausgang) versucht und es hat nicht funktioniert. Und nach vielen Versuchen und Exploration I:

  • die Ausgabe von R kopiert (Ctrl + c)
  • in Excel-Blatt klebte ich es (Ctrl + V)
  • Select Die erste Spalte mit den Daten
  • Klicken Sie in der Vignette "Daten" auf "Text in Spalte"

  • Select Delimited Option, klicken Sie neben

  • Tick Dachbox in "Separator", klicken Sie neben

  • Klicken finalisieren (Ende)

Ausgabe sollte nun in einer Form sein, Sie kann in Excel einfach manipulieren. Also vielleicht nicht die tollste Option, aber es macht den Trick, wenn Sie nur Ihre Daten auf andere Weise erkunden möchten.

PS. Wenn die Etiketten in Excel nicht genau sind, dann ist das, weil ich die Etiketten von meinem spanischen Excel übersetze.

3

writexl, ohne Java-Voraussetzung:

# install.packages("writexl") 
library(writexl) 
tempfile <- write_xlsx(iris) 
4

Eine weitere Option ist der openxlsx -Paket. Es hängt nicht von ab und kann Excel-Dateien lesen, bearbeiten und schreiben. Aus der Beschreibung aus dem Paket:

openxlsx vereinfacht die der Prozess des Schreibens und Styling Excel xlsx-Dateien aus R und entfernt die Abhängigkeit von Java

Beispiel Nutzung:

library(openxlsx) 

# read data from an Excel file or Workbook object into a data.frame 
df <- read.xlsx('name-of-your-excel-file.xlsx') 

# for writing a data.frame or list of data.frames to an xlsx file 
write.xlsx(df, 'name-of-your-excel-file.xlsx') 

Neben Diese beiden grundlegenden Funktionen, das -Paket hat eine Vielzahl von anderen Funktionen zur Bearbeitung von Excel -Dateien.

Zum Beispiel mit der writeDataTable -Funktion können Sie formatierte Tabellen in einer Excel -Datei erstellen.

+0

'openxlsx' hängt von Rtools ab, die installiert und dem Systemvariablenpfad hinzugefügt werden müssen. Nicht ideal für Firmencomputer. Ich benutze dies und versuche jetzt, Alternativen zu finden, da ich portable Versionen meines Codes machen muss, die funktionieren, ohne etwas zu installieren. – Arani

+0

@ Arani Ich bezweifle das sehr. Ich habe 'openxlsx' auf einer Windows VM ohne Rtools installiert und es funktioniert wie es sollte. – Jaap

+0

in meinem Fall tut es alles außer 'saveWorkbook' oder' write.xlsx'. Dazu fragt es nach Rtools. Geheimnisvoll! – Arani

Verwandte Themen