我正在使用ggstatsplot R包進行繪圖。完成劇情后,我有一個問題。這是我的情節的代碼:
library(ggstatsplot)
#Data
data("movies_long")
movies_long
#Plot
Myplot <- ggbarstats(
data = movies_long,
x = mpaa,
y = year,
title = "Distribution of movies per year",
xlab = "year",
legend.title = "",
ggplot.component = list(ggplot2::scale_x_discrete(guide = ggplot2::guide_axis(n.dodge = 2))),
palette = "Set2"
)
接下來是輸出:

該情節非常有用,但有兩個問題。首先是條形頂部的 p 值重疊。其次是也有重疊的大小 n,我如何改進條形頂部的 p 值標簽以及底部的大小 n?
有沒有辦法使用置信度來獲取這些 p 值并轉換為 p<0.001、p<0.1?

非常感謝您的幫助。在極端情況下,有沒有辦法知道如何計算每個條的 p 值(正在應用哪個測驗),以便我可以復制它并使用創建類似的圖ggplot2?
uj5u.com熱心網友回復:
我質疑你的說法,即這個情節非常有用。除了重疊標簽外,還有一些統計問題,包括:
- 該情節幾乎完全掩蓋了它在 1991 年之前的大多數年份中每年總結一部電影的事實。
- 該分析會計算大量p 值,而無需對多個假設檢驗進行任何校正,這是一種不好的做法。
這是限制在 1991 年至 2005 年之間發行的電影的相同情節。它更好,盡管仍然充滿了過多的未校正 p 值。

注意:我已經把地塊做得足夠大以容納所有這些標簽。現在文本有點小,但通過一些試驗和錯誤,您可以得到“正確”的繪圖高度和寬度。
至于每個條形圖頂部的 p 值......有一種方便的方法可以提取在 ggplot 中可視化的資料:
p$data
#> # A tibble: 41 × 5
#> year mpaa counts perc .label
#> <fct> <fct> <int> <dbl> <chr>
#> 1 1991 R 5 83.3 83%
#> 2 1992 R 6 100 100%
#> 3 1993 R 5 83.3 83%
#> 4 1994 R 20 80 80%
#> 5 1995 R 59 69.4 69%
#> 6 1996 R 63 60.6 61%
#> 7 1997 R 71 62.3 62%
#> 8 1998 R 82 61.7 62%
#> 9 1999 R 98 61.3 61%
#> 10 2000 R 77 48.4 48%
#> # … with 31 more rows
現在我們已經確認每個條形圖都是按收視率(R、PG、PG-13)對電影數量的簡單匯總,我們可以快速檢查 p 值是否來自計數的卡方檢驗按評級:
p$data %>%
filter(
year == 2000
)
#> # A tibble: 3 × 5
#> year mpaa counts perc .label
#> <fct> <fct> <int> <dbl> <chr>
#> 1 2000 R 77 48.4 48%
#> 2 2000 PG-13 64 40.3 40%
#> 3 2000 PG 18 11.3 11%
chisq.test(c(77, 64, 18))
#>
#> Chi-squared test for given probabilities
#>
#> data: c(77, 64, 18)
#> X-squared = 36.264, df = 2, p-value = 1.335e-08
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/493089.html
下一篇:使用ggplotR的熱圖
