我是 R 的新手,我正在嘗試制作一個堆積條形圖,每個條形圖對應不同的年份。年份將是 x 軸,而頻率在 y 軸上。我不斷收到一條錯誤訊息,提示“2014、2015 等列不存在”。我不太明白我哪里出錯了。我附上了一張我想要的圖片,這只是一個例子,所以圖片中的數字是任意的。謝謝

library(dplyr)
library(tidyr)
library(ggplot2)
data <- data.frame(
Emm1.0 = c(5,2,0,0,0,0,2,0),
Emm3.1 = c(1,1,0,0,0,0,0,0),
Emm6.4 = c(1,0,0,0,0,0,0,0),
Emm9.0 = c(0,0,0,0,0,0,0,1),
Emm11.0 = c(0,2,4,3,0,0,0,0),
Emm22.0 = c(1,0,0,0,0,1,0,0),
Emm28.0 = c(0,0,0,0,0,1,0,0),
Emm41.1 = c(1,0,1,0,0,0,0,0),
Emm49.0 = c(2,0,0,0,0,2,4,8),
Emm53.0 = c(0,0,0,0,1,0,0,0),
Emm59.0 = c(0,1,1,3,0,0,0,1),
Emm74.0 = c(2,0,0,0,1,2,1,2),
Emm76.0 = c(2,0,0,0,1,1,1,1),
Emm77.0 = c(0,0,0,0,0,0,1,1),
Emm81.0 = c(1,0,0,0,1,3,3,0),
Emm82.0 = c(1,0,0,0,0,0,1,0),
Emm83.1 = c(0,0,1,0,0,1,0,0),
Emm87.0 = c(0,1,0,0,0,0,0,0),
Emm89.0 = c(0,0,1,0,1,0,0,0),
Emm91.0 = c(0,0,0,0,1,0,0,0),
Emm101.0 = c(1,0,1,0,0,0,0,0),
Emm114.0 = c(0,0,0,1,0,0,0,0),
Emm118.0 = c(1,0,0,0,0,0,0,0),
Year = as.factor(c("2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021"))
data <- dat %>%
gather("Emmtype", "Frequency", -Year)
data
ggplot(data, aes(x = Year, y = Frequency, fill = Emmtype))
geom_col(position = "stack", stat = "identity")
uj5u.com熱心網友回復:
也許您想要這樣的東西:當您使用時,geom_col()您不需要 stat = "identity"(參見 ?geom_bar(),您已經有了一個 y:
library(tidyverse)
data %>%
pivot_longer(-Year) %>%
ggplot(aes(x = Year, y = value, fill = name))
geom_col(position = "stack")

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/536947.html
標籤:r图表2多列堆叠条形图
下一篇:如何按質量編號對變數進行分組?
