平滑绘图并使用 R 添加置信区间ggplot2 上的平滑和 geom_ribbon 函数

问题描述

我有一个名为“SP”的数字变量和一个名为“DELAY”的序数变量,有 7 个条件(0.1 ; 0.2 ; ... ; 1.2)。 对于我的每个观察,有 7 个 SP 值,每个 DELAY 条件有 1 个。 每个观察也属于一个组,1、2 或 3 出现在变量“集群”中。 您可以在代码部分查看我的数据示例。

我想绘制一个图,根据每个 DELAY 条件(x 轴)表示 SP 值(y 轴)。它还需要为每个组(集群)显示单独的行。

我的问题是(ggplot2 包):

  • 即使我使用“平滑”功能而不是“线条”功能,我的线条也不流畅。如果我可以说,它们只是看起来更厚,而不是更光滑。
  • 我想添加置信区间,但是当我使用 geom_ribbon 时,我的整个图都变灰了。

我认为这来自于我在绘制情节之前汇总数据的方式,但我真的很难一开始就拥有正确的情节,因为没有任何效果......

有人能解决这些问题吗? 很抱歉,我没有足够的“声誉”来发布图像,因此您需要运行代码才能实际查看绘图。

预先感谢您的友好回答!

``` r
# LIBRARIES
library("dplyr")
library("ggplot2")
library("hrbrthemes")

# DATAFRAME
dataSP <- tibble::tribble(
  ~Participant,~DELAY,~SP,~clusters,1L,0.1,0.788888888888889,0.2,0.566666666666667,0.4,0.711111111111111,0.6,0.8,0.833333333333333,1,0.844444444444444,1.2,0.866666666666667,2L,0.433333333333333,0.422222222222222,0.488888888888889,0.644444444444444,0.688888888888889,0.577777777777778,0.611111111111111,3L,0.633333333333333,0.655555555555556,0.622222222222222,4L,0.888888888888889,0.9,0.955555555555556,0.877777777777778,0.855555555555556,0.922222222222222,5L,0.722222222222222,0.5,0.588888888888889,0.7,6L,0.777777777777778,0.744444444444444,7L,0.533333333333333,0.733333333333333,0.766666666666667,8L,0.455555555555556,0.322222222222222,0.511111111111111,9L,0.388888888888889,0.166666666666667,0.466666666666667,0.477777777777778,0.544444444444444,10L,0.555555555555556,11L,0.666666666666667,12L,13L,0.522222222222222,0.311111111111111,14L,0.377777777777778,15L,0.822222222222222,16L,17L,0.277777777777778,0.411111111111111,0.677777777777778,2L
)


# CODE

# converting group variable "clusters" into characters (to use of a discrete color scale)
clust <- as.character(dataSP$clusters)
dataSP <- cbind(dataSP,clust)

# Generating the plot
ggplot(dataSP) +
  aes(x = DELAY,group = clust,color = clust,y = SP) +
  stat_summary(fun = mean,geom = "point") +
  stat_summary(fun = mean,geom = "smooth",aes(colour = clust)) +
  scale_color_manual(values = c("#999999","#E69F00","#56B4E9")) +
  theme_ipsum()


``` r

# TRIED SOLUTIONS

SP.lo <- min(dataSP$SP)
SP.up <- max(dataSP$SP)

ggplot(dataSP) +
  aes(x = DELAY,y = SP,ymin = SP.lo,ymax = SP.up) +
  stat_summary(fun = mean,aes(colour = clust)) +
  geom_ribbon(alpha = 0.5) +
  scale_color_manual(values = c("#999999","#56B4E9")) +
  theme_ipsum()

```

<sup>Created on 2021-07-01 by the [reprex package](https://reprex.tidyverse.org) (v2.0.0)</sup>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)