2012-04-12 32 views
0

Ich habe eine Tabelle Y, bestehend aus 6 Spalten. (Datum, Stunde, Minute, Sekunde, Preis, Größe). So soll ich jetzt Einträge löschen, die eine Zeit von mehr als 4 Uhr haben. Die gesamte Zeile der Einträge muss weggelassen werden. Ich bin mir nicht sicher, wie ich damit verfahren soll. Wir werden also im Grunde die Stundenspalte betrachten und den Vergleich anstellen. ex:Löschen von Zeilen, die bestimmte Bedingungen erfüllen in R

Date  hour min sec price size 
jan1st  9 45 45 345 100 
jan1st  10 23 33 324 20 
jan1st  11 02 34 434 10 
jan4th  16 05 09 32 23 
jan5th  23 08 23 12 90 

So in der obigen Tabelle, würde Ich mag den Eintrag löschen, die 16 und 23 unter den Stunden hat. und damit die ganze Reihe loswerden. Wie würde ich das tun?

+2

Hey ich sehe du bist neu in SO. Ich schlage vor, dass Sie ein reproduzierbares Beispiel liefern (dh einen minimalen Datensatz und den Code, um den Fehler zu reproduzieren). Auch das ist eine ziemlich oft gestellte Frage, deshalb sollten Sie zuerst die Archive durchsuchen. –

Antwort

0

Zunächst einmal, willkommen bei SO und R. Ich würde vorschlagen, ein paar der Intro-Anleitungen zum Einstieg in R. here for example zu lesen, da sie viele dieser Fragen für Sie beantworten werden.

Sie müssen [ verwenden, das ist die Teilmenge "Funktion" wie in meinem Beispiel unten. Wie Tyler in den Kommentaren erwähnt, ist es für Personen, die etwas wie dput verwenden, schnell und einfach, Ihre Beispieldaten zu verwenden.

> dput(dat) 
structure(list(Date = c("jan1st", "jan1st", "jan1st", "jan4th", 
"jan5th"), hour = c(9L, 10L, 11L, 16L, 23L), min = c(45L, 23L, 
2L, 5L, 8L), sec = c(45L, 33L, 34L, 9L, 23L), price = c(345L, 
324L, 434L, 32L, 12L), size = c(100L, 20L, 10L, 23L, 90L)), .Names = c("Date", 
"hour", "min", "sec", "price", "size"), class = "data.frame", row.names = c(NA, 
-5L)) 



> dat[dat$hour < 16,] 
    Date hour min sec price size 
1 jan1st 9 45 45 345 100 
2 jan1st 10 23 33 324 20 
3 jan1st 11 2 34 434 10 
+0

Danke für die Antwort. Meine ist ein riesiger Datensatz mit etwa 15.000 Zeilen. Kann ich diesen Ansatz nutzen? – Probabilityman

+0

15k Zeilen ist auf keinen Fall riesig! Das wird gut dafür funktionieren. – Justin

Verwandte Themen