So erhalten Sie die Anzahl der Zeilen für einen bestimmten Wert in einer Spalte

8

Ich versuche die Anzahl der Zeilen für eine bestimmte Spalte zu erhalten. Ich habe drei Spalten mit Name, Alter und Dur. Wie kann ich herausfinden, wie viele BIO Majors es zum Beispiel aus dieser Liste gibt?

Ich habe einen DF & lt; - (NAME, JAHR, MAJOR, GPA) Ich möchte eine Funktion haben, damit ich jede größere Person mit weniger als 20 Personen eliminieren kann.

Ich möchte so etwas, aber im eigentlichen Code.

%Vor%

Jede Hilfe wäre willkommen

    
user2446334 18.06.2013, 19:28
quelle

3 Antworten

11

Ich denke, die beiden bisher angebotenen Methoden sind übermäßig komplex. Probieren Sie beides aus, das zweite ist offensichtlich der "richtige Weg". :-) (Borrowing @ Gungs Beispiel.)

%Vor%

Beantworten Sie die angehängte Frage in den Kommentaren, wie Sie jedem Schülereintrag ein tabellarisches Ergebnis zuordnen, schauen Sie sich die Funktion ave an und verwenden Sie die erste Methode entweder mit "[" -extraction oder mit subset :

%Vor%     
42- 24.06.2013, 01:12
quelle
2

Wieder ist es die data.table Paketgruppierungsfunktionalität zur Rettung. Es gibt eine '.N'-Notation, die die Anzahl der Zeilen in jeder Gruppe angibt und genau das liefert, was Sie brauchen. Entlehnung aus der vorherigen Antwort:

%Vor%

Also ist es jetzt ein One-Liner. Und es ist auch schnell (mit N = 1000000):

%Vor%     
asieira 19.06.2013 22:09
quelle
1

Der grundlegende Weg, um zu zählen, wie viele von etwas Sie haben, besteht darin, einen logischen Vektor zusammenzufassen, wobei jedes Element des logischen Vektors eine 1 ist, wenn das ursprüngliche Element das Ding ist, das Sie zählen möchten, oder andernfalls 0 .

Beginnen wir mit einigen Daten:

%Vor%

So finden wir heraus, wie viele BIO Majors Sie haben:

%Vor%

Wenn Sie wissen wollten, wie viele Sie für jedes existierende Hauptfach haben, können Sie eine Liste der Hauptfächer mit ? unique , und wenden Sie dann die obige Funktion auf die Liste mit ?apply :

%Vor%

Hier ist eine etwas schönere Version:

%Vor%

Sie sollten es von hier aus nehmen können.

Update: @DWin hat recht, ich habe das zu kompliziert gemacht. Da DF$MAJOR ein Faktor ist, können Sie einfach Folgendes tun:

%Vor%     
gung 18.06.2013 20:21
quelle

Tags und Links