So rufen Sie die am meisten wiederholte Wert in einer Spalte vorhanden, in einem Daten-frame
Ich versuche abzurufen, die wiederholt Wert in einer bestimmten Spalte in der Gegenwart in einem Daten-frame.Hier ist mein Beispiel-Daten und dem code unten.Ein
data("Forbes2000", package = "HSAUR")
head(Forbes2000)
rank name country category sales profits assets marketvalue
1 1 Citigroup United States Banking 94.71 17.85 1264.03 255.30
2 2 General Electric United States Conglomerates 134.19 15.59 626.93 328.54
3 3 American Intl Group United States Insurance 76.66 6.46 647.66 194.87
4 4 ExxonMobil United States Oil & gas operations 222.88 20.96 166.99 277.02
5 5 BP United Kingdom Oil & gas operations 232.57 10.27 177.57 173.54
6 6 Bank of America United States Banking 49.01 10.81 736.45 117.55
Als meine pro sample-Daten, die ich zurückgeben müssen, die meisten wiederholt Kategorie, die Versicherung.
subset(subset(Forbes2000,country=="Bermuda")
Wie wäre
Ich muss zurückkehren, die meisten wiederholt, der Wert von meinen Daten...
Ich dachte, ich würde verlassen, die dem Leser als übung.
sort(table(yourdata$category), decreasing=TRUE)[1]
. Es gibt viele andere Möglichkeiten auch!Ich muss zurückkehren, die meisten wiederholt, der Wert von meinen Daten...
Ich dachte, ich würde verlassen, die dem Leser als übung.
names(sort(table(yourdata$category), decreasing=TRUE)[1])
. Aber Josh macht einen guten Punkt, was ist, wenn Sie haben ein Band!InformationsquelleAutor Teja | 2012-08-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor ALiX
Falls zwei oder mehrere Kategorien können gebunden werden, die für die meisten Häufig, so etwas wie dieses:
InformationsquelleAutor Josh O'Brien
Andere Weise mit den Daten.Tisch-Paket, welches schneller ist und für große Daten-sets:
Methode 1 (Lösung oben vorgeschlagen)
Zeit Unterschied von 4.883488 Sek.
Methode 2 (DATEN-TABELLE)
Zeit Unterschied von 0.328033 Sek.
as.data.table(ds)[, .N, by=x][, x[N == max(N)]]
auch nicht den job, das dauert 0.06 s auf meinem laptop. Als ein FYI, keine Notwendigkeit zusetkey
für Aggregationen.Danke. Ihre Lösung sollte sich an der Oberseite von dieser Seite.
InformationsquelleAutor tucson
Können Sie
table(Forbes2000$CategoryName, useNA="ifany")
. Dies wird Ihnen die Liste aller möglichen Werte in der ausgewählten Kategorie und die Anzahl, wie oft jeder Wert wurde verwendet, insbesondere Daten-frame.InformationsquelleAutor user3430164