So gibt dieser die gesamte Liste mit dem, was ich brauchte:die maximale Frequenz nur für jeden Faktor
max <- function(x) {
n <- data.frame(x)
factored <- n[sapply(n, is.factor)]
dt_res = data.frame()
for (i in 1:ncol(factored)) {
dt_temp = data.frame(t(table(factored[, i])))
dt_temp$Var1 = names(factored)[i]
dt_res = rbind(dt_res, dt_temp)
}
names(dt_res) = c("Factors", "Categories", "Frequency")
return(dt_res)
}
Wie erhalte ich die maximale Frequenz für die einzelnen Faktoren? Mit dem Diamant-Set, erhalte ich
Factors Categories Frequency
cut Fair 1610
cut Good 4906
cut Very Good 12082
cut Premium 13791
cut Ideal 21551
color D 6775
color E 9797
color F 9542
color G 11292
color H 8304
color I 5422
color J 2808
Und die Kategorie für Klarheit, aber ich will es diese zurück:
Factors Categories Frequency
cut Ideal 21551
color G 11292
clarity SI1 13065
Dank
Ich habe geplant, es zu benutzen, in meiner Funktion, so wird es nicht für andere Spalten arbeitet, die nicht geschnitten werden, Farbe und Klarheit. Ich habe versucht dt_temp = data.frame (max (t (table (faktorisiert [, i])))) nur um die Faktoren und Häufigkeit zu erhalten, nicht die Kategorie. –
Ich würde für Schleifen wann immer möglich vermeiden. Sie können andere Spalten wählen, wenn Sie möchten. Siehe meine bearbeitete Antwort. – CPak