Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.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 如何添加覆盖整个数据分组的绘图?_R_Ggplot2_Facet - Fatal编程技术网

R 如何添加覆盖整个数据分组的绘图?

R 如何添加覆盖整个数据分组的绘图?,r,ggplot2,facet,R,Ggplot2,Facet,我有一个数据框,其中有一个变量delta2,我将其切割为高于和低于0.8,并为两组绘制var1 v/s var2。但是我还想为delta2=-Inf,Inf添加案例,基本上包括整个数据集,并比较相同的var1 v/s var2。我怎样才能继续 sm$dclass <- cut(sm$d, breaks=c(-Inf, 0.8, Inf), labels=c("delta2 < 0.8 ","delta2 >= 0.8")) ggplot(sm, aes(var1, var2)

我有一个数据框,其中有一个变量
delta2
,我将其切割为
高于和低于0.8
,并为两组绘制
var1 v/s var2
。但是我还想为
delta2=-Inf,Inf
添加案例,基本上包括整个数据集,并比较相同的
var1 v/s var2
。我怎样才能继续

sm$dclass <- cut(sm$d, breaks=c(-Inf, 0.8, Inf), labels=c("delta2 < 0.8 ","delta2 >= 0.8"))

ggplot(sm, aes(var1, var2)) +
  facet_wrap(~ dclass) +
  geom_point(aes(colour=factor(dclass))) +
  stat_density_2d()+
  scale_colour_discrete()

sm$dclass一种技术是使用重新定义的数据添加到现有绘图中。例如:

library(ggplot2)

ggplot(mtcars, aes(disp, mpg, col=factor(cyl))) +
  geom_point() +
  stat_density_2d() +
  geom_point(data=transform(mtcars, cyl="all")) +
  stat_density_2d(data=transform(mtcars, cyl="all")) +
  facet_wrap(~ cyl)

由于在其他系统上找不到
sm
,您是否可以共享一些数据(使用
dput(头(x))
),生成一些随机数据(可能更大!),或者将您的问题调整到R中的标准数据集?如果没有这一点,您得到的任何数据都将无法进行测试。您还可以尝试使用删除刻面变量的数据版本,将完整数据用作“背景”:
geom_point(data=subset(mtcars,select=-cyl)、aes(disp,mpg)、color=“gray70”)+
非常感谢!这很有效。最后一个问题:如何添加
stat\u density2d()
部分?我添加了美学。但这仍然导致statdensity图没有被添加到所有子图中……实际上,只需添加另一个
stat\u density\u 2d
和它自己的
data=
参数即可。这就是重点,只要提供一个有自己数据的stat/geom的重复。(为了提高效率,我将
aes(…)
移到了顶行……不是必需的,只是一个选项。)