我有范围形式的观察
例如:A 13-20、B 15-30、C 23-40、D 2-11
我想以起始值和结束值的形式在 R 中绘制它们,例如。 A 的 13 和 20(上限和下限,如果你可以说),以便可视化并找出某些观察组合的共同范围。在 R 中有没有一种快速的方法来做到这一点?我认为这是我遇到的一个非常微不足道的问题,但我现在想不出怎么做。
最佳答案
这是使用 ggplot
的解决方案.根本不清楚您的数据采用什么格式,因此这里假设数据框包含列 id
(A-D), min
, 和 max
.
df <- data.frame(id=LETTERS[1:4], min=c(13,15,23,2), max=c(20,30,40,11))
library(ggplot2)
ggplot(df, aes(x=id))+
geom_linerange(aes(ymin=min,ymax=max),linetype=2,color="blue")+
geom_point(aes(y=min),size=3,color="red")+
geom_point(aes(y=max),size=3,color="red")+
theme_bw()
我添加了很多自定义功能只是为了让您了解它是如何完成的。您使用
aes(...)
功能告诉 ggplot
df
中的哪些列映射到图形的各种美学。例如 aes(x=id)
告诉 ggplot
x 轴的值可以在 id
中找到df
的栏目, 等等。编辑 : 对 OP 评论的回应。
要更改轴文本的大小,请使用
theme(...)
功能,如:ggplot(df, aes(x=id))+
geom_linerange(aes(ymin=min,ymax=max),linetype=2,color="blue")+
geom_point(aes(y=min),size=3,color="red")+
geom_point(aes(y=max),size=3,color="red")+
theme_bw()+
theme(axis.text.x=element_text(size=15))
在这里,我使 x 轴文本更大。玩转
size=...
以您想要的方式获得它。另请阅读文档 ( ?theme
) 以获取其他格式选项的列表。
关于r - 绘制数据中变量的 'ranges',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27205629/