- 阅读权限
- 255
- 威望
- 0 级
- 论坛币
- 1813 个
- 通用积分
- 170.2749
- 学术水平
- 64 点
- 热心指数
- 94 点
- 信用等级
- 34 点
- 经验
- 29760 点
- 帖子
- 430
- 精华
- 0
- 在线时间
- 1194 小时
- 注册时间
- 2010-8-15
- 最后登录
- 2026-1-16
|
用基础的graphics系统,比较烦,但可以看到一些函数的用法,示图B(图A的技巧性不如图B)
- group1center <- 2
- group2center <- 4
- group1sd <- 1
- group2sd <- 2
- x1 <- seq(from = group1center - 2 * group1sd, to = group1center + 2 * group1sd, length = 1000)
- y1 <- dnorm(x1, group1center, group1sd)
- x2 <- seq(from = group2center - 2 * group2sd, to = group2center + 2 * group2sd, length = 1000)
- y2 <- dnorm(x2, group2center, group2sd)
- y2.plot <- ifelse(y2 < min(y1), min(y1), y2)
- par(mar = c(1.5, 1.5, 1, 1) + 0.1)
- plot(c(x1, x2), c(y1, y2), type = "n", axes = F, xlab = "", ylab = "", ylim = c(min(y1), max(y1)))
- abline(h = min(y1), lwd = 2)
- abline(v = min(x1), lwd = 2)
- mtext("genetic distance", side = 1, line = 0.1)
- mtext("#", side = 2, line = 0.1)
- polygon(x = c(sort(x1), rev(sort(x1))), y = c(rep(min(y1), 1000), rev(y1[order(x1)])), col = "red")
- polygon(x = c(sort(x2), rev(sort(x2))), y = c(rep(min(y1), 1000), rev(y2.plot[order(x2)])), col = "yellow")
- # plot the overlap region
- x.overlap <- seq(min(x1), max(x1), length = 1000)
- ygroup1 <- dnorm(x.overlap, group1center, group1sd)
- ygroup2 <- dnorm(x.overlap, group2center, group2sd)
- y.overlap <- ifelse(ygroup2 < ygroup1, ygroup2, ygroup1)
- y.overlap.plot <- ifelse(y.overlap < min(y1), min(y1), y.overlap)
- polygon(x = c(sort(x.overlap), rev(sort(x.overlap))), y = c(rep(min(y1), 1000), rev(y.overlap.plot[order(x.overlap)])), col = "orange")
- lines(x1, y1, lwd = 2)
- lines(x2, y2.plot, lwd = 2)
- text(x = 4, y = max(y1)/1.5, "overlap")
复制代码
|
-
总评分: 学术水平 + 2
热心指数 + 2
信用等级 + 2
查看全部评分
|