在R中使用对数刻度进行绘图

时间:2020-04-07 20:23:26

标签: r plot

我最近开始使用R并且遇到了这个问题,因此,当我想使用对数变量y的对数标度绘制glm回归输出时,它不起作用,即使我的X绝对值也不会随着数字而变化( (年龄值)到年龄(值的名称),要解释更多,这就是我所做的:

reg=glm(visites~age, data=database, family=poisson)

y = predict(reg, type="response",newdata=data.frame(age=66:96))
par(mfrow=c(1,2))

plot(66:96,y,type="l")

plot(66:96,y,type="l", log = "y") 

enter image description here

1 个答案:

答案 0 :(得分:0)

当轴的范围和位置很小时,您不会看到很大的曲率(由log="y"引起)。如果我们“移动”(接近0)和“缩放”(扩展),我们会发现xy数据之间具有相同基本关系的曲线截然不同。

x <- 66:96
# an approximation of your data
y <- 6.5 - 0.8 * (seq_along(x) - 1) / length(x)

par(mfrow = c(2, 3))
plot(x, y, type = "l", log = "y", main = "Original")
y1 <- y - min(y) + 1
plot(x, y1, type = "l", log = "y", main = "Shifted")
y2 <- y - min(y) + 0.1
plot(x, y2, type = "l", log = "y", main = "Shifted More")
y3 <- 1000 * y
plot(x, y3, type = "l", log = "y", main = "Scaled")
y4 <- 1000 * (y - min(y)) + 1
plot(x, y4, type = "l", log = "y", main = "Shifted, Scaled")
y4 <- 1000 * (y - min(y)) + 0.1
plot(x, y4, type = "l", log = "y", main = "Shifted More, Scaled")

6-pack of plots

相关问题