ich einen Datenrahmen in R haben (nennen wir es „Animals“) mit dem Namen Spalten nach Tieren wie Kaninchen, Katze, etc. Es sieht wie folgt aus:Untereinstellung einen Datenrahmen in R von Bedingungen für jede Spalte eine Variable mit
| Rabbit | Cat | Frog | Cow | Dog |
|--------|-----|------|-----|-----|
| 0 | 1 | 1 | 0 | 1 |
| 0 | 0 | 3 | 1 | 4 |
| 2 | 1 | 0 | 0 | 0 |
Es gibt Hunderte von Zeilen in der Liste, und es gibt auch mehr Tiere (Spalten).
möchte ich Teilmengen dieser Datenrahmen für jedes Tier nehmen, wo ihre Zahl größer als 0 ist zum Beispiel, ich möchte eine subsetted Kaninchen Datenrahmen von nur die Zeilen in Tiere, wo Kaninchen> 0
Zuerst habe ich versucht,
species <- "Rabbit"
Dann habe ich versucht, die Tiere Datenrahmen der Teilmenge von dplyr des Filters mit(): eine Variable "Spezies" zu schaffen
Rabbits <- filter(Animals, species >= 1)
das ist nicht wor k, weil filter() versucht hat, nach einer Kolumne namens "species" und nicht nach "Rabbit" zu suchen.
Ich habe die Variable "Spezies" erstellt, weil ich hoffe, den Prozess zu automatisieren, indem ich einen Vektor aller meiner Tiernamen durchlaufen und sie in entsprechende Datenrahmen unterteilen kann.
Gibt es einen effizienteren Ansatz dafür?
Ich bin sehr neu zu R so alle ELI5 Erklärungen würden geschätzt werden. Vielen Dank!
Danke für die schnelle Antwort !! Das ist nah dran, was ich will, aber das Problem ist, ich möchte eine Variable anstelle von Rabbit in Rabbit> = 1 verwenden. I.e. Ich will Arten> = 1, wo Arten <- "Kaninchen". Ich möchte die Artenvariable verwenden, weil ich auf diese Weise hoffe, durch alle Tiere hindurchzuschauen. Ist das möglich? Vielen Dank! – hpy
Die andere Lösung ist, das reshape2-Paket zu verwenden, um Ihre Daten zu transformieren, so dass Sie nur zwei Spalten haben: eine mit dem Tier (Hase, Katze usw.) und die andere die Anzahl der Tiere. – mb14
Danke für die aktualisierte Antwort, es hat funktioniert !! – hpy