Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将箱线图上的数据点与线ggplot2连接_R_Ggplot2 - Fatal编程技术网

R 将箱线图上的数据点与线ggplot2连接

R 将箱线图上的数据点与线ggplot2连接,r,ggplot2,R,Ggplot2,我试图在下面的图表中可视化成对的数据点集: ggplot(grid.mag.ROIcontrols.allRuns, aes(Model,Grid_Magnitude)) + geom_boxplot(aes(fill=Model),outlier.shape = NA,alpha=0.6) + geom_point(aes(fill=Model),size=2,shape=21,position=position_jitterdodge(0.2)) + geom_line(aes(

我试图在下面的图表中可视化成对的数据点集:

ggplot(grid.mag.ROIcontrols.allRuns, aes(Model,Grid_Magnitude)) +
  geom_boxplot(aes(fill=Model),outlier.shape = NA,alpha=0.6) +
  geom_point(aes(fill=Model),size=2,shape=21,position=position_jitterdodge(0.2)) +
  geom_line(aes(group=Side)) +
  facet_grid(~Side,scales = "free") +
  scale_fill_brewer(palette="GnBu") +
  labs(title = "Average Grid Magnitude, pm vs al EC")
行正在连接
alLeft6
/
pmLeft6
之间和
alRight6
/
pmRight6
之间的点

但是
geom_line
使用我需要的组变量不起作用-它在数据点之间添加垂直线和一条水平线,而我需要为10对数据点中的每一对添加一条水平线

geom\u线

使用
geom\u线


PS:抱歉,我不知道如何共享原始数据…

如果没有实际数据,很难为您提供深入的帮助,请参阅,以获得评论中提到的一个可复制的示例指南

我假设您想要将alLeft6中的一个数据点与pmLeft6中的一个数据点进行比较(否则水平线就没有意义了)。这表示您的数据中有一些列将这些点链接在一起(示例数据中是成对的)

对于合成的数据,将
geom_line()
分组变量设置到此列(
Pairs
)一样简单。要将
geom_点()
geom_线()
以抖动方式对齐,一个简单的解决方案是在ggplot调用之前定义偏移量(此处称为
pd

库(tidyverse)
grid.mag.ROIcontrols.allRuns=tibble(模型=c(rep(“alLeft6”,10),rep(“pmLeft6”,10),rep(“alRight6”,10),rep(“pmRight6”,10)),
格网_震级=c(runif(10,-1,1),runif(10,-0.5,1.5),runif(10,-1,1),runif(10,-1.5,0.5)),
侧面=c(代表(“左”,20),代表(“右”,20)),
配对=c(代表(1:10,2),代表(11:20,2))
) %>%
突变(配对=作为因子(配对))

欢迎来到SO!例如,您可以使用pastebin.com共享纯文本数据。看起来您需要在
geom_line
中以不同的方式设置组参数-可能是某种实验ID来匹配您想要连接的点?您可以使用<代码> DPT(DATAOSLoad)共享您的数据,如果您想使用更详细的帮助,可以考虑使用<代码> GeoMySea<代码>来绘制连接点对的线段,而不是代码> GeoMyLea。您可能需要使用
pivot\u wide
geom\u段
准备数据。如前所述,举一个实际数据的例子会很有帮助。谢谢大家!dput()是一个非常有用的工具,pastebin.com也是。我还找到了一个ggpaired的解决方案,并创建了新的分组变量——正如你们大多数人所说,看看如何重现数据非常有用。我下次会知道的。谢谢我还意识到我只需要根据我的主题ID进行分组,这就是你的Pair变量。
library(tidyverse)
grid.mag.ROIcontrols.allRuns = tibble(Model = c(rep("alLeft6", 10),rep("pmLeft6", 10),rep("alRight6", 10),rep("pmRight6", 10)),
                                      Grid_Magnitude = c(runif(10, -1, 1),runif(10, -0.5, 1.5), runif(10, -1, 1),runif(10, -1.5, 0.5)),
                                      Side = c(rep("Left", 20), rep("Right", 20)),
                                      Pair = c(rep(1:10, 2), rep(11:20, 2)) 
) %>%
  mutate(Pair = as.factor(Pair))

pd <- position_dodge(0.2)
ggplot(grid.mag.ROIcontrols.allRuns, aes(Model,Grid_Magnitude)) +
  geom_boxplot(aes(fill=Model),outlier.shape = NA,alpha=0.6) +
  geom_line(aes(group=Pair), position = pd) +
  geom_point(aes(fill=Model,group=Pair),size=2,shape=21, position = pd) +
  facet_grid(~Side,scales = "free") +
  scale_fill_brewer(palette="GnBu") +
  labs(title = "Average Grid Magnitude, pm vs al EC")