Konvertieren von txt-Datei in csv, und extrahieren Sie die ausgewählten Zeilen
Ich habe 500 Dateien (gespeichert im gleichen Verzeichnis).
Alle diese Dateien haben das gleiche format, wie folgt. Zwar kann excel erkennen, dass die 3 Spalten-R liest nur eine Spalte, wenn ich x <- read.csv(xxx.txt, header=T)
. Ich denke, es ist ein intelligenter Weg, dies zu tun.
4077 40770 3.083
4078 40780 2.985
4079 40790 2.946
4080 40800 3.010
4081 40810 2.956
4082 40820 3.080
4083 40830 3.130
4084 40840 3.167
4085 40850 3.054
Nach dem laden dieser Dateien zu R, ich will zum extrahieren von nur 0, 100, 200, 300,....9000 Zeilen und speichern Sie Sie in einem anderen Verzeichnis mit dem gleichen Dateinamen in 500-getrennte Dateien.
Ist es möglich, automatisch erfolgen mit R?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, dass Sie verbessern würde, Ihren code mit dem Lesen.Tabelle () - Funktion zum importieren frei formatiert (mit Trennzeichen) Daten, Dateien, anstatt das rad.csv(), die geschrieben wurde, speziell für durch Trennzeichen getrennte Dateien. Und als DWin hingewiesen, es gibt keine Zeile 0 in R. Sie könnten versuchen, auf diese Weise:
Hoffe, dass dies helfen.
Error in read.table(files.to.read[i], header = TRUE) : more columns than column names
. wie es zu lösen ist?print(i)
und einflush console()
nach dem ersten{
imfor
Aussage und sehen, welche Ihrer Dateien das problem ist. Vielleicht ist Ihr problem ist in der Praxis oder im dezimal-Trennzeichen. Man könnte definieren, sowohl in der lese.Tabelle Funktion:read.table(files.to.read[i], header=TRUE, sep=";", dec=",")
. Hoffe, das hilft.str_sub
(sieheexample(str_sub)
) - Funktion aus derstringr
Paket. Fügen Sie eine neue Zeile wietemp$class <- str_sub(files[i], 1, 5)
nach der Definition dertemp
Daten-frame (Werte 1 und 5 in derstr_sub
sind die start-und end-Werte; siehe?str_sub
).Laden:
Erstellen Sie eine Liste mit Ihren Namen die meisten leicht getan mit> Liste.Dateien(
)
Schleife durch diese Liste mithilfe gelesen.Tabelle mit entweder keine sep
argument sep="\t" (ohne Kommas oder header in dieser Datei, wie es jetzt erscheint .)
Vielleicht:
lapply(flist, function(x) assign(x, Lesen.Tabelle(x) )
...und rbind diese zusammen, vielleicht mit so etwas wie
bigfile <- tun.call(rbind, flist)
Gibt es viele Beispiele in der rhelp Archiv und SO, dies zu tun;
Loop in R laden von Dateien
Mit R-Schleife über die Daten-frames, und weisen Sie entsprechende Namen erstellte Objekte in der Schleife
Wie zu Lesen ist.Tabelle() mehrere Dateien in eine einzelne Tabelle in R?
Extrahieren (Es gibt keine null-Zeile in R):