2017-11-20 2 views
0

Ich habe die folgende Tabelle derzeit in R unter dem Namen schools gespeichert und ich bin auf der Suche nach einer Methode, um die Tabelle in zwei zu trennen, je nachdem, ob Status = "Privat" oder "Öffentlich".Erstellen Sie eine neue Tabelle abhängig davon, ob eine Spalte contents = "Private" mit R

schools <- read.table(text = "Code Status Num Letter 
          Cox  Private 133 a 
          Tend Public 323 f 
          Folst Private 234 i 
          Tam Private 343 d 
          Escot Public 433 q 
          Sandal Public 733 p 
          Salt Public 37 m", header = TRUE) 

Ich möchte alle Schulen mit einem Status von "Privat" in schoolsPrivate gestellt werden, die wie folgt aussieht:

Mit dplyr:

schoolsPrivate <- read.table(text = "Code Status Num Letter 
          Cox  Private 133 a 
          Folst Private 234 i 
          Tam  Private 343 d", header = TRUE) 
+1

'df [df $ status == "Private" ,, Tropfen = FALSE]' – r2evans

Antwort

1

du ein paar Möglichkeiten tun können

Sie können auch ein df mit split teilen:

split_list <- split(schools, schools$Status) 

Welche ergibt:

$Private 
    Code Status Num Letter 
1 Cox Private 133  a 
3 Folst Private 234  i 
4 Tam Private 343  d 

$Public 
    Code Status Num Letter 
2 Tend Public 323  f 
5 Escot Public 433  q 
6 Sandal Public 733  p 
7 Salt Public 37  m 

und weisen Sie es mögen:

schoolsPrivate <- split_list$Private 
+0

denke ich, um Ihre Nutzung von 'split' ist das Beste von den dreien (Ihre zwei plus mein kommentierter Gebrauch von' ['): Es benutzt Basis R (wenn es nicht offensichtlich war,' dplyr' wurde verwendet), und es behandelt mehr als nur die zwei Kategorien in einem Anruf. – r2evans

+0

Ich stimme zu, ich rief dplyr, und habe auch die "Bibliothek" Anruf dort. Split ist jedoch eine hilfreiche Funktion. –

+0

(Mein Punkt war nicht, dass Sie 'Bibliothek' nicht genannt haben ... mein Punkt war nur, dass es im OP nicht offensichtlich war, dass sie externe Bibliotheken benutzten. Sie hatten nicht falsch, seine Verwendung vorzuschlagen, und tatsächlich viele "Lösungen" für Fragen beinhalten Vorschläge für Pakete, die "richtig/schnell/einfach machen".) – r2evans

Verwandte Themen