簡體   English   中英

如何使用 geom_jitter 圖制作散點圖可重現?

[英]How to make scatterplot with geom_jitter plot reproducible?

我正在使用澳大利亞艾滋病生存數據。 這次要創建散點圖。

為了顯示不同報告傳播類別(T.categ)的存活率,我以這種方式繪制圖表:

data <- read.csv("https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/MASS/Aids2.csv")

data %>%
  ggplot() +
  geom_jitter(aes(T.categ, sex, colour = status))

它顯示了一個圖表。 但是每次運行代碼時,它似乎都會生成不同的圖表。 這是其中的 2 個組合。

在此處輸入圖片說明

代碼有什么問題嗎? 正常嗎(每個運行不同的圖表)?

如果您使用geom_point而不是geom_jitter ,您可以添加position = position_jitter() ,它接受種子參數:

library(ggplot2)
p <- ggplot(mtcars, aes(as.factor(cyl), disp)) 

p + geom_point(position = position_jitter(seed = 42))


p + geom_point(position = position_jitter(seed = 1))

然后回到“42”


p + geom_point(position = position_jitter(seed = 42))

reprex 包(v0.3.0) 於 2020 年 7 月 2 日創建

繪圖時嘗試設置種子:

set.seed(1); data %>%
  ggplot() +
  geom_jitter(aes(T.categ, sex, colour = status))

從手冊?geom_jitter

它為每個點的位置添加了少量隨機變化,是處理較小數據集離散性引起的過度繪圖的一種有用方法。

為了使“隨機變化”可重現,我們需要在繪圖時設置set.seed

如果我想做一些隨機的,但可重復排列等的東西,我使用樣本來設置種子: my.seed = sample(1:10000,1) set.seed(my.seed)然后我可以用它來寫一個文件名之類的。

save(my_plot,paste0('plot',my.seed,'.rda')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM