Ich habe einige Daten, und ich möchte einige Variablen aus stat_count()
verwenden, um ein Balkendiagramm zu beschriften.Wie benutze ich eine benutzerdefinierte Funktion, um eine Textbeschriftung in geom_text() ändern
Dies ist, was ich tun möchte:
library(ggplot2)
library(scales)
percent_and_count <- function(pct, cnt){
paste0(percent(pct), ' (', cnt, ')')
}
ggplot(aes(x=Type)) +
stat_count(aes(y=(..prop))) +
geom_text(aes(y=(..prop..), label=percent_and_count(..prop.., ..count))),
stat='count')
Allerdings habe ich diesen Fehler, da es nicht die Funktion in dem, was finden kann ich davon ausgehen, ist entweder einige Pakete Base oder der Datenrahmen:
Fehler bei eval (ausdr, envir, enclos): konnte nicht funktionieren "percent_and_count"
ich diesen Fehler finden, wenn ich percent(..prop..)
auch tun, althoug h ist es in Ordnung mit scales::percent(..prop..)
. Ich habe meine Funktion nicht aus einem Paket geladen.
Wenn alles andere fehlschlägt, ich
geom_text(aes(y=(..prop..), label=utils::getAnywhere('percent_and_count')$objs[[1]]((..prop..),(..count..))))
tun können, aber dies scheint unnötig Kreisverkehr für das, was eine blöde einfache Aufgabe sein sollte.