Ich habe ein Beispiel DatenrahmenFinden N eindeutige Werte innerhalb ggplot
df <- data.frame(a = c(sample(LETTERS[1:5], 10, TRUE), "Z", "Z"),
b = c(rnorm(10), NA, NA))
und ich versuche, ein paar einfache Plotten zu tun und etwas Farbe hinzufügen. Ich kann dies leicht tun, zu wissen, wie viele a
Werte gibt, bevor ich sogar Grundstück sein wird:
library(randomcoloR)
df %>%
filter(!is.na(b)) %>%
ggplot() +
geom_bar(aes(x = a, y = b),
fill = randomColor(5),
stat = "summary",
fun.y = "mean")
Aber was, wenn ich nicht weiß, wie viele a
Werte wird es sein? Wie kann man die Anzahl der eindeutigen a
Inline innerhalb die geom_xxx
Aussage erhalten?
Mit n_distinct(a)
funktioniert nicht und stellt den Fehler
df %>%
filter(!is.na(b)) %>%
ggplot() +
geom_bar(aes(x = a, y = b),
fill = randomColor(n_distinct(a)),
stat = "summary",
fun.y = "mean")
Error in n_distinct_multi(list(...), na.rm) : object 'a' not found
Mit uniqueN()
von data.table
funktioniert nicht und stellt den Fehler:
library(data.table)
df %>%
filter(!is.na(b)) %>%
ggplot() +
geom_bar(aes(x = a, y = b),
fill = randomColor(uniqueN(a)),
stat = "summary",
fun.y = "mean")
Error in uniqueN(a) : object 'a' not found
unique(a) %>% length()
Verwendung nicht funktioniert entweder, und bietet die sam Der Fehler ist unmittelbar darüber.
Kann ich die Anzahl der eindeutigen a
Werte innerhalb einer geom_xxx
Anweisung inline finden? Ich fühle mich, als würde ich hier etwas Offensichtliches vermissen.