Controlling-stellen in R schreiben.csv
Ich schreiben wollen, einen Daten-frame in das csv enthält die numerischen Spalten sowie Spalten Charakter.
Einige numerische Spalten sind Ganzzahlen, die ich anzeigen möchten, die als ganze zahlen, und einige sind Dezimalzahlen, in denen ich das Bedürfnis, die Kontrolle über die Anzahl der Ziffern nach dezimal und offensichtlich keine Veränderung des Charakters Spalten
Wie kann ich dies tun?
Eq eine bestimmte Zeile in dieser dataframe ist
XYZ 8200 0.306060606 ABC
Ausgabe sollte
XYZ 8200 0.30 ABC
Hinsichtlich
- Wollen Sie Runde die Nachkommastellen? (z.B.
0.31
näher0.306060606
als0.30
) - Nicht erforderlich. Aber auch wenn es passiert, ist das OK. Meine größere Sorge ist, abschneiden
- möglich, Duplikat der so kontrollieren Sie die Anzahl der Dezimalstellen in schreiben.Tabelle () - Ausgabe?
- Ich sah, dass Antwort. Ich habe versucht, mit format(), aber ich bin nicht immer die gewünschte Ausgabe
- Siehe wie man ein großes R reproduzierbare Beispiel. Dies funktioniert für mich:
test <- data.frame("XYZ", 8200, 0.306060606, "ABC"); format(test, digits=2)
- Versuchen Sie dieses und sehen, was passiert xyz " <- Daten.Rahmen(8200,365.2121,0.3060);format(xyz,digits=2)
- Ich bin sehr Leid für meine schlechte Formatierung. Wiederholen Sie den Kommentar. Ich habe Folgendes versucht und es hat nicht funktioniert
xyz <- data.frame(8200,365.2121,0.3060);format(xyz,digits=2)
Der Grund ist 365.2121 umgewandelt 365
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wird dadurch gezwungen, zwei Ziffern nach dem Dezimalkomma:
Wenn Sie nicht möchten, dass Spalten durch ganze zahlen, auch diejenigen, die Nachkommastellen (z.B. Spalte
v2
in diesem Beispiel), könnte man etwas tun, wie splittingxyz
in Spalten formatiert werden müssen und andere Spalten:as.integer()
sowie zur Aufrechterhaltung der integer-Spalten, wie Sie sind. Ich war auf der Suche nach einer Antwort innerhalbwrite.csv()
ob es direkt verfügbar ist oder nicht. Das ist, bin ich etwas fehlt. Die Modifikation der Daten war immer eine option offenas.integer()
write.csv
, die erlauben würde, Sie zu erreichen ist so eine Sache. Also antwortete ich mit, wie zu ernährenwrite.csv
etwas in das entsprechende format. Wenn Sie eine Methode, die Sie bevorzugen mitas.integer
, fühlen Sie sich frei, um es zu veröffentlichen, als eine Antwort, und auch akzeptieren, wenn Sie wollen.