水平轴上的因子的散点图

时间:2015-09-09 15:06:23

标签: r plot

我正在尝试使用x轴上的因子生成简单的散点图。结果图显示水平线而不是点(不幸的是无法上传图像)。

根据我的教授的要求,根据Dobson,Bennett的广义线性模型简介中的示例3.5将一些SAS代码转录为R.目的是将我的同学介绍给R,所以我尽量保持这个简单和干净。

dat <- data.frame(age_group = c("30-34", "35-39", "40-44", 
    "45-49", "50-54", "55-59", "60-64", "65-69"), 
                  deaths = c(1, 5, 5, 12, 25, 38, 54, 65), 
                  population = c(17742, 16554, 16059, 13083, 10784, 9645, 10706, 9933))
dat <- within(dat, {
              rate <- deaths / population * 100000
              lograte <- log(deaths / population * 100000)
              })

我的情节

with(dat, plot(age_group, lograte, pch=19))

不会产生我想要的'点'。我有一个黑客攻击的解决方案,我稍后会发布,但想看看是否有更好的方法。再一次,道歉我无法上传图片。

1 个答案:

答案 0 :(得分:3)

使用base R你可以这样做:
xaxt="n"压缩x轴,然后手动添加。

plot(1:nrow(dat), dat$lograte, xaxt="n", xlab="age_group", ylab="lograte", pch=19)
axis(1, at=1:8, labels=dat$age_group)

enter image description here

您可以使用ggplot2而不是基础R图来实现它:

require(ggplot2)
ggplot(dat, aes(x=age_group, y=lograte)) + geom_point()

enter image description here