NaN
die Werte löschen Sie verwenden können, die Filterfunktion. Aus der Julia docs:
Filter (Funktion, Sammlung)
Rückkehr einer Kopie der Sammlung, Entfernen von Elementen, für die Funktion falsch ist.
x = filter(y->!isnan(y),y)
filter!(y->!isnan(y),y)
So haben wir als unsere Aufgabe erstellen die bedingte !isnan(y)
und es verwenden, um das Array y
(Anmerkung filtern wir auch geschrieben haben könnte z
oder jede andere Variable verwenden wir gewählt haben, da das erste Argument von filter
definiert nur eine Inline-Funktion). Beachten Sie, dass wir dies entweder als neues Objekt speichern oder die Version "In Place" verwenden können, die durch !
signalisiert wird, um das vorhandene Objekt einfach zu ändern. Je nachdem, ob wir es möchten oder nicht Um die NaN
s in unserer Zählung einzuschließen, können wir die countmap()
Funktion von StatsBase verwenden. Aus der Julia docs:
countmap (x)
Return ein Wörterbuch Mapping jeden eindeutiger Wert in x zu seiner Anzahl von Vorkommen.
using StatsBase
a = countmap(y)
Sie können dann bestimmte Elemente dieses Wörterbuch zugreifen, z.B. a[-1]
wird Ihnen sagen, wie viele Vorkommen gibt es von -1
Oder wenn Sie das Wörterbuch in ein Array konvertieren Sie wollten, könnten Sie verwenden:
b = hcat([[key, val] for (key, val) in a]...)'
Hinweis: Vielen Dank für die Kommentare zu richtig @JeffBezanon Methode zum Filtern NaN
Werte.
Siehe auch http://stackoverflow.com/questions/21172027/count-instances-of-each-unique-integer-in-a-vector-in-1-line-of-code –