在R中生成随机块示意图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在R中生成随机块示意图相关的知识,希望对你有一定的参考价值。
我经常设计随机块实验,而我的合作者经常喜欢将这些设计可视化的示意图。但是,生成它们非常耗时,因为我是在Powerpoint中这样做的(我很ham愧)。我想在R中执行此操作,但是我真的不知道如何入门。下面,我复制了这些示意图之一。我真正想做的是开发R代码,用户可以在其中指定:
- 块中有一些治疗方法。
- 多个块。
- 与治疗相关的颜色向量。
我希望输出为下图的第一面板,而不必包含“块1”,“块2”等标签。虽然,这将是一个奖金。如果解决方案在基数R中,将不胜感激。
答案
这可能是您想要的。我不明白为什么每个块都不能简单地成为一行,如下图所示。如果需要一些奇特的形状,则需要指定用于为块绘制该形状的标准。
library(tidyverse)
n_blocks <- 12
m_treatments <- 5
plot_sample_treatments <- function(n_blocks,m_treatments){
df <- do.call("rbind",
lapply(1:n_blocks,
function(x) data.frame(
treatment = sample(1:m_treatments,m_treatments),
block = paste0('Block ',x),
sequence = (1:m_treatments))))
df %>% ggplot(aes(x = sequence, y = block, fill = factor(treatment))) +
geom_tile(color = 'gray30') +
scale_x_discrete(expand = c(0,0))
}
plot_sample_treatments(12,5)
给出以下内容:
以上是关于在R中生成随机块示意图的主要内容,如果未能解决你的问题,请参考以下文章