我正在嘗試創建一個條形圖,兩個分類變數 A1 A2 更多更少等于更多更少等于更多......等等
我想要創建一個條形圖,其中因子水平(“更多”、“更少”、“相等”等)在 A1 和 A2 的 x 軸上,y 軸是頻率
我對 A1 使用了以下代碼,但我不知道如何在 x 軸上繪制 A1 和 A2
ggplot(df, aes(x = A1)) geom_bar() theme(axis.text.x = element_text(angle = 45, hjust = 1))
uj5u.com熱心網友回復:
您可以通過將資料重塑為長格式來實作您想要的結果。使用一些虛假的隨機資料:
library(ggplot2)
library(tidyr)
df_long <- df %>%
pivot_longer(c(A1, A2), names_to = "name", values_to = "value")
head(df_long)
#> # A tibble: 6 × 2
#> name value
#> <chr> <chr>
#> 1 A1 equal
#> 2 A2 equal
#> 3 A1 equal
#> 4 A2 less
#> 5 A1 equal
#> 6 A2 less
ggplot(df_long)
geom_bar(aes(x = value, fill = name), position = "dodge")
theme(axis.text.x = element_text(angle = 45, hjust = 1))

資料
set.seed(123)
df <- data.frame(
A1 = sample(c("more", "less", "equal"), 100, replace = TRUE),
A2 = sample(c("more", "less", "equal"), 100, replace = TRUE)
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/443286.html
上一篇:將美元格式添加到ggplot的分面環繞圖中的一個圖中
下一篇:R:函式的等高線圖
