Ik probeer een eenvoudig histogram te bouwen met het ggplot2-pakket in R.
Ik laad mijn gegevens uit een csv-bestand en plaats 2 van de kolommen samen in een gegevensframe, zoals dit:
df = data.frame(sp = data$species, cov = data$totalcover)
sp wordt herkend als een factor van 23 niveaus (mijn aantal regels) en cov als 23 getallen.
Om het histogram te bouwen, voer ik dit uit:
ggplot(df, aes(df$sp, df$cov) + geom_histogram())
R geeft echter de foutmelding: “Fout: Mapping moet worden gemaakt met aes()
of aes_()
.”
Hoe is dit mogelijk als ik al aes gebruik? Heeft het misschien te maken met het type waarden?
Antwoord 1, autoriteit 100%
Ik had dezelfde fout, zelfs als ik aes() gebruikte. Dus ik gebruikte “mapping” voor aes()
ggplot()+
geom_boxplot (df, mapping = aes(x= sp, y= cov))
Antwoord 2, autoriteit 28%
Twee fouten:
- Brackets moeten worden gesloten na ggplot en aanroepend histogram komt na
- u specificeert uw dataset wanneer u ggplot aanroept op
df
. Daarom is het niet nodig omdf$sp
toe te voegen.sp
is genoeg.
Deze code zou moeten werken (als er niets mis is met uw gegevens):
ggplot(df, aes(sp, cov)) + geom_histogram()
Antwoord 3, autoriteit 5%
Gebruik geen $ in aes. Geef de dataset alleen op in ggplot. Ik gebruikte plot<-df %>% ggplot()
Antwoord 4
Ja, het werkt . U moet het dollarteken $ niet gebruiken als u de gegevens al hebt opgegeven. Ik had hetzelfde probleem en toen ik het dollarteken verwijderde, werkte het.
ggplot(dat1, aes(Q84, REGION, fill = Q3)) +
geom_bar(stat = "Identity") +
facet_grid(REGION ~ Q84)
Vermijd dit:
ggplot(dat1, aes(dat1$Q84, dat1$REGION, fill = Q3)) +
geom_bar(stat = "Identity") +
facet_grid(dat1$REGION ~ Q84)
waar dat1
de naam is van mijn dataset.
Antwoord 5
probeer
ggplot(df, aes(df$sp, df$cov))+ geom_histogram()
in plaats van
ggplot(df, aes(df$sp, df$cov) + geom_histogram())
verplaatsing van haakjes
Antwoord 6
Als een andere mogelijke oplossing ontdekte ik dat het tegelijkertijd laden van library(cowplot) en library(ggplot2) ervoor zorgde dat “ggsave(“test.pdf”, p1)” niet werkte.
Gebruik in plaats daarvan de cowplot-syntaxis “save_plot(“test.pdf”, p1)”