Verwenden von R Ich möchte eine neue Spalte erstellen, die Daten basierend auf der Häufigkeit einer Variablen kennzeichnet. Derzeit habe ich Code, der diese Punkte entfernt, anstatt eine Flag-Spalte hinzuzufügen. Ich muss Daten kennzeichnen, die weniger als 7200 Datensätze, die auch als y
oder n
durch eine andere Spalte dentoed sind.R Neue Spalte mit Flag erstellen
Mein aktueller Code, der diese reocords als solche entfernt:
# Read in csv file
data = read.csv(infile)
# Create subset with only records marked 'y'
data_y = subset(data,data$yn!= 'n')
# Count the number of records per day, using table function
valid = table(data_y$DATE)
# Remove the records with less than 7200 records, and also marked 'y' from subset function
df_cut = data_w[data_w$DATE_STAMP %in% names(valid)[valid>=7200],]
# Save new cvs
write.csv(df_cut,outpath)
Ich gehe davon will ich nicht Teilmenge verwendet werden soll, da dies R die Datensätze zu ignorieren sagt aber nicht sicher, wo ich anfangen soll.
Als Randbemerkung, das Hauptmerkmal von 'subset' ist nicht, Spalten mit' parent_object $ 'zu qualifizieren; beispielsweise subset (Daten, yn! = 'n'). – nrussell
So etwas wie 'data $ flag = ave (Daten [, 1], Daten $ DATE, Daten $ yn, FUN = Funktion (x) Länge (x) <7200)'. Dadurch wird eine Spalte namens "Flag" hinzugefügt, die TRUE ist, wenn für jede DATE/YN-Kombination weniger als 7200 Zeilen vorhanden sind. – Gregor