2016-07-27 23 views
-1

Ich möchte nach jeweils 8 Zeilen in meinem gesamten Datensatz eine leere Zeile hinzufügen. Die eigentliche man wie:R leere Zeile nach 8 Zeilen hinzufügen

Original-Datensatz

enter image description here

und das Endergebnis Ich mag würde bekommen, ist:

erwartet Dataset

enter image description here

Vielen Dank im Voraus.

+0

Warum würden Sie Ihren Daten jemals eine solche Zeile hinzufügen? Möchten Sie nur ändern, wie die Daten gedruckt werden, anstatt fehlerhafte Daten zu Ihrem Datenrahmen hinzuzufügen? – MrFlick

+0

Da ich dieses Format in eine Excel-Datei exportiert werden soll, wo jede 8 Zeilen ich ein leeres hinzufügen. Da ich nicht weiß, wie man das im Makro macht, dachte ich, dass ich das in R machen könnte und dann die Datei ins xlsx-Format exportieren würde. –

+1

Aber warum brauchen Sie diese leere Zeile? Ich kann mir keine nützliche Anwendung dafür vorstellen. – Jaap

Antwort

0

Diese Antwort ist für numerische Spalten.

zunächst für die ersten acht Beobachtungen können Sie eine Matrix erzeugen, die einen Vektor von Einsen mit einer Länge von 8 und eine zusätzliche NA Säule ist: v<- c(rep(1, 8),NA)

und dann können Sie Produkt dieser Matrix mit dem Original-Kronecker: kron(a,v) (nach dem Auftragen von as.matrix auf a und v).

Dies sollte für jede 8. Zeile mit einer Schleife erweiterbar sein.

Für die Zeichenspalte, man kann es ersten separaten, rbindNA eine Reihe zu jedem 8.en Elemente einer Schleife von seq definiert und anschließend cbind es zurück in der numerischen Matrix.

0
cur <- rbind(df[1:8,], NA) 
for(i in seq(from = 9, to = length(df), by = 8) { 
    cur <- rbind(df[i:(i+7),], NA) 
} 
Verwandte Themen