График с использованием логарифмической шкалы в R - PullRequest
0 голосов
/ 07 апреля 2020

Я недавно начал использовать R, и у меня возникла эта проблема, поэтому, когда я хочу построить вывод регрессии glm, используя логарифмическую шкалу для моей переменной y, она не работает, даже моя абсцисса 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 голосов
/ 08 апреля 2020

Вы не увидите большой кривизны (вызванной log="y"), когда диапазон и расположение оси настолько малы. Если мы «сместим» (приблизим к 0) и «масштабируем» (развернем), мы увидим резко отличающиеся кривые с одинаковой базисной c взаимосвязью между данными x и y.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...