问题陈述
假设我具有以下两个变量的功能
f <- function(x,y){
return(x*y + (x^3)*sin(y))
}
我想固定两个x
点,例如在x=2
和x=3
处,然后,我想得到100
个标准随机正态样本,该样本我将以y
值的形式输入。
数据是什么样的
这就是数据的样子
set.seed(1)
y <- rnorm(100)
df <- data.frame(
x = c(rep(2,50),rep(3,50)),y=c(f(2,head(y,f(3,tail(y,50)))
)
head(df)
x y
1 2 -5.943113
2 2 1.828189
3 2 -7.605003
4 2 11.188164
5 2 3.247634
6 2 -7.492659
数据的标准散点图
df$x <- as.factor(df$x)
ggplot(data=df,aes(x=x,y=y)) +
geom_point()
我要做什么
基本上,我想在左边有两个geom_rug()
,分别对应于x=2
的散点,在右边有一个x=3
,对应于散点图。我可以为所有分散点生成一个geom_rug()
,如下所示,但是我不知道如何拥有两个不同的
ggplot(data=df,y=y)) +
geom_point(aes(color=x)) +
geom_rug()
理想情况下,我希望左侧的地毯图与x=2
上的散点具有相同的颜色,而右侧的地毯图与{{ 1}}。