2016-07-25 15 views
-1

Ich habe einen Datenrahmen mit mehreren Spalten und ich möchte verschiedene Funktionen auf jeder Spalte anwenden.Anzahl der Spalten mit Filtern

Ein Beispiel für meine Daten-Set -

enter image description here

Ich möchte die count der Spalte pq110a für jedes Land in qcountry2 Spalte (me-mexico, br-Brasilien, ar-argentina) erwähnt berechnen. Das Problem, das ich hier Gesicht ist, dass I-Filter beispielsweise auf diesen Säulen zu verwenden, haben für die Proben Patienten wollen-I

  1. Graf von pq110 wenn die Werte 1 und 2 (für einige Patienten)
  2. Graf von pq110 Wenn der Wert 3 ist (für andere Patienten)
  3. In ähnlicher Weise, wenn der Wert 6 ist.
  4. Für den gesamten Patienten möchte ich Gesamtanzahl von pq110.

Output Ich erwarte is- Output

Similalry für jedes Land, das ich diese Ausgabe soll.

Bitte schlagen Sie vor, wie kann ich dies auch für andere Spalten tun, landseitig.

Danke !!

+2

Bitte lesen Sie die Informationen über [wie eine gute Frage] (http://stackoverflow.com/help/how-to-ask) und wie ein [reproduzierbares Beispiel] zu erhalten (http: // stackoverflow.com/questions/5963269). Dies wird es anderen sehr erleichtern, Ihnen zu helfen. – zx8754

+0

Bitte senden Sie Ihre Beispieldaten und Ausgabe –

+0

Mögliches Duplikat von [dplyr - mit Filter mit Anzahl] (http://stackoverflow.com/questions/26573285/dplyr-using-filter-with-count) – theArun

Antwort

0

Ich denke, was Sie tun möchten, ist die Anzahl der Spalten von 'pq110' zählen, die den gleichen Wert in verschiedenen 'qcountry2' haben.

Also werde ich versuchen, 'tapply' zu verwenden, um Daten in mehrere Teilmengen zu teilen und dann 'Tabelle' zu verwenden, um die Spaltennummer für jeden anderen Wert zu zählen.

tapply(my_data[,"pq110"], INDEX = as.factor(my_data[,"qcountry2"]),  function(x)table(x)) 
+0

Danke Chang! Aber ich freue mich auf die Zählung von pq110, wo der Wert 1 oder 3 ist, der als erste Zeile betrachtet wird, und in ähnlicher Weise muss ich für die zweite Zeile und die dritte Zeile berechnen, indem ich verschiedene Werte in Betracht ziehe. Und das muss ich für jedes Land tun, also denke ich, ich muss dafür eine Funktion übernehmen. – Kavya

Verwandte Themen