【问题标题】:Summary statistics as aesthetics argument for geom_point汇总统计作为 geom_point 的美学论据
【发布时间】:2018-02-27 00:57:29
【问题描述】:

我想用点/点/圆创建一个图(例如,使用geom_point()

虚拟数据:

tp = c(1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L)
value = c(-0.602414496676874, -0.602414496676874, -0.602414496676874, -0.602414496676874, 
          -1.43908106523151, -1.43908106523151, -1.43908106523151, -1.43908106523151, 
          -2.19530757454171, -2.19530757454171, -1.90848346932521, -2.19530757454171, 
          -1.01688680882049, -0.26861160987711, -2.26401214039278, -2.26401214039278, 
          -2.40645987252632, -1.89777729784596, -2.40645987252632, -2.40645987252632)
x = c(0, 0, 0, 0, 1, 1, 1, 1, 0.866025403784439, 0.866025403784439, 0.866025403784439,
      0.866025403784439, 0.5, 0.5, 0.5, 0.5, 0, 0, 0, 0)
y = c(0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0.5, 0.5, 0.5, 0.866025403784439, 0.866025403784439, 
      0.866025403784439, 0.866025403784439, 1, 1, 1, 1)

dat = data.frame (tp, x, y, value)

关于数据:它包含地图上特定位置 (tp) 的测量值,具有离散坐标 x / y。数据固有的是这些测试点 (tp) 上的许多测量值的重叠。 我现在想做的是将诸如平均值/中位数/标准差等汇总统计数据映射到这些坐标。

解决方案 A(给出所需结果): 我当然可以创建一个摘要数据框并将其导入我的绘图中。

require(dplyr)
require(ggplot2)
dat %>% group_by(x, y) %>% summarise(mean = mean(value)) %>%
  ggplot(aes(x, y, color = mean)) + geom_point() 

但我很好奇 ggplot 中是否有任何geom_... 可以实现更直接的“统计映射”。

例如 stat_summary_2d(不是我真正想要的):这可能会朝着这个方向发展,但我没有找到修改生成的矩形/六边形形状的方法。

ggplot(dat, aes(x,y, z = value)) + stat_summary_2d(fun = 'mean') #or stat_summary_hex()

我的问题 有没有办法用统计函数直接总结变量并将其用作美学调用中的参数?我愿意接受任何允许创建点/点的几何图形。干杯

附:我知道这个问题可能是重复的。如果你找到它,请告诉我。我没有。谢谢。

【问题讨论】:

    标签: r ggplot2 summary


    【解决方案1】:

    只需将几何图形指定为点并将其形状更改为 21-24 范围内的填充形状。

    ggplot(dat, aes(x, y, z = value))+
    stat_summary_2d(fun = 'mean', geom='point', size=5, shape=21)
    

    【讨论】:

    • 酷。谢谢。这很容易。
    猜你喜欢
    • 2015-08-04
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2019-08-18
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多