小编Ste*_*e M的帖子

ggplot2:将样本大小信息添加到x轴刻度标签

此问题与 创建自定义geom以计算汇总统计信息并在*绘图区域外显示* (注意:所有函数都已简化;没有错误检查正确的对象类型,NA等)

在基础R中,很容易创建一个生成条带图的函数,其中样本大小在分组变量的每个级别下面指示:您可以使用以下mtext()函数添加样本大小信息:

stripchart_w_n_ver1 <- function(data, x.var, y.var) {
    x <- factor(data[, x.var])
    y <- data[, y.var]
# Need to call plot.default() instead of plot because 
# plot() produces boxplots when x is a factor.
    plot.default(x, y, xaxt = "n",  xlab = x.var, ylab = y.var)
    levels.x <- levels(x)
    x.ticks <- 1:length(levels(x))
    axis(1, at = x.ticks, labels = levels.x)
    n <- sapply(split(y, x), length)
    mtext(paste0("N=", n), side = 1, line = 2, at = x.ticks)
}

stripchart_w_n_ver1(mtcars, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 ggproto

15
推荐指数
3
解决办法
8781
查看次数

创建自定义geom以计算摘要统计信息并在*绘图区域外显示它们

我是R包EnvStats的创建者.

有一个我经常使用的函数叫做stripChart.我刚刚开始学习ggplot2,过去几天一直在研究哈德利的书,温斯顿的书,StackOverflow和其他资源,试图创造一个geom近似于它的东西stripChart.我无法弄清楚如何geom计算汇总统计数据和测试结果,然后将它们放在x轴刻度线下方以及绘图顶部(绘图区域外).以下是使用内置数据集的简单示例mtcars:

library(EnvStats)
stripChart(mpg ~ cyl, data = mtcars, col = 1:3, 
  xlab = "Number of Cylinders", ylab = "Miles per Gallon", p.value = TRUE)
Run Code Online (Sandbox Code Playgroud)

以下是尝试重现stripChart的大部分功能的geom的早期草稿:

geom_stripchart <- 
function(..., x.nudge = 0.3, 
  jitter.params = list(width = 0.3, height = 0), 
  mean.params = list(size = 2, position = position_nudge(x = x.nudge)), 
  errorbar.params = list(size = 1, width = 0.1, 
  position = position_nudge(x = x.nudge)), 
  n.text = TRUE, …
Run Code Online (Sandbox Code Playgroud)

r ggplot2 envstats

6
推荐指数
1
解决办法
491
查看次数

标签 统计

ggplot2 ×2

r ×2

envstats ×1

ggproto ×1