Я использую линейную регрессию следующей функции: 100 / (100-Y) = b1 + b2 * (1 / X)
и получаю коэффициенты, которые равны b1 = 2,0675 и b2 = 16.2662
lm1 <- lm(I((100/(100-Y)))~I((1/X)), data = table_67)
summary(lm1)
Затем я хочу визуализировать функцию на основе полученных коэффициентов. Одно решение, которое я нашел, но его получение требует немного времени, - это построить график функции после того, как я решу для y и использую ggplot. Как это:
f <- function(x) ((106.75*x+1626.62)/(2.0675*x+16.2662))
ggplot(data.frame(x = c(0,125)), aes(x = x))+
stat_function(fun = f, size = 1.2)
Хотя это дает мне именно то, что я ищу, это занимает немного времени. Мне было интересно, есть ли альтернативное решение.
Я думал либо о следующем коде:
gggplot(table_67, aes(X, Y))+
geom_smooth(method = "lm", se=FALSE, formula = I((100/(100-y)))~I((1/x)))
, который строит правильный график, но я не могу определить интервал значений Y, для которого я хочу построить его. Вы можете видеть, что ось Y имеет значения от нуля и выше, но я хотел бы визуализировать ее на основе определенного интервала c и полученных мной коэффициентов (которые соответствуют значениям Y моего набора данных). В предполагаемой регрессии, если X стремится к бесконечности, предел Y стремится к 51, что не видно в этом решении
Или, если это невозможно, и я должен использовать приведенный выше код функции (x), есть ли способ определить мою функцию, избегая ее решения с Y? Я думал примерно так, как показано ниже, и я знаю, что это не работает, но чтобы объяснить, что я ищу:
g <- (100/(100-function(x))) (2.0675 + 16.2662*(1/x))
ggplot(data.frame(x = c(0,125)), aes(x = x))+
stat_function(fun = f, size = 1.2)