是否有人知道如何在R
中创建散点图以在PRISM的图形板中创建像these这样的图:
我尝试使用箱形图,但它们不按我想要的方式显示数据。图形板可以生成的这些列散点图可以更好地显示数据。
任何建议将不胜感激。
答案 0 :(得分:4)
正如@smillig所提到的,你可以使用ggplot2实现这一点。下面的代码再现了你很好的情节 - 警告它非常棘手。首先加载ggplot2包并生成一些数据:
library(ggplot2)
dd = data.frame(values=runif(21), type = c("Control", "Treated", "Treated + A"))
接下来更改默认主题:
theme_set(theme_bw())
现在我们建立情节。
构建基础对象 - 未绘制任何内容:
g = ggplot(dd, aes(type, values))
添加点:调整默认抖动并根据类型更改字形:
g = g + geom_jitter(aes(pch=type), position=position_jitter(width=0.1))
在“框”上添加:计算框结束的位置。在这种情况下,我选择了平均值。如果您不想要这个框,只需忽略这一步。
g = g + stat_summary(fun.y = function(i) mean(i),
geom="bar", fill="white", colour="black")
添加一些错误栏:计算上限/下限并调整条宽:
g = g + stat_summary(
fun.ymax=function(i) mean(i) + qt(0.975, length(i))*sd(i)/length(i),
fun.ymin=function(i) mean(i) - qt(0.975, length(i)) *sd(i)/length(i),
geom="errorbar", width=0.2)
显示情节
g
stat_summary
来计算动态所需的值。您还可以创建单独的数据框,并使用geom_errorbar
和geom_bar
。答案 1 :(得分:3)
如果您不介意使用ggplot2
软件包,可以使用geom_boxplot
和geom_jitter
轻松制作类似的图片。使用mtcars
示例数据:
library(ggplot2)
p <- ggplot(mtcars, aes(factor(cyl), mpg))
p + geom_boxplot() + geom_jitter() + theme_bw()
生成以下图形:
可以在此处查看文档:{{3}}
答案 2 :(得分:-1)
我最近遇到了同样的问题,并使用 .collect(Collectors.joining())
找到了自己的解决方案。
例如,我创建了 ggplot2
数据集的一个子集。
chickwts
由于在 library(ggplot2)
library(dplyr)
data(chickwts)
Dataset <- chickwts %>%
filter(feed == "sunflower" | feed == "soybean")
中无法将点更改为符号,因此我使用了 geom_dotplot()
如下:
geom_jitter()
这是最后的情节:
更多细节,你可以看看这篇文章:
http://withheadintheclouds1.blogspot.com/2021/04/building-dot-plot-in-r-similar-to-those.html?m=1