r中的对数线性拟合绘图
logarithmic linear fit plotting in r
我有一个数据框对应于每个变量的频率
(例子:变量1出现1984次,变量2出现974次...)
dff<-data.frame(Var1=c(1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11, 12 ,13 ,14 ,15 ,16 ,27, 30 ,35 ,36 ,38 ,39 ,40 ,41), Freq=c(1984, 974, 464 , 251 , 127 , 83 , 45 , 26 , 16 , 12 , 9 , 5 , 5 , 2 ,3 , 1 , 1 , 1 , 1 , 2 , 5,4,2,1))
plot(dff$Var1,log(dff$Freq))
对数图
如图所示,存在线性回归,
我只是想找到一种方法,只能拟合线性拟合与x轴相交的回归部分。
因为,我需要提取其他未拟合线性拟合的点(dff$Var1=20
之后的点),这意味着不是噪声点
这个怎么样:
plot(dff$Var1, log(dff$Freq))
lr <- lm(log(Freq) ~ Var1, data = dff[dff$Var1 < 20, ])
abline(lr)
分界点是 20。但您可以根据自己的工作进行调整。
如果要计算
where the linear fit intersect the x axis.
获取系数:
coef(lr)
(Intercept) Var1
7.4636699 -0.4741615
并求解方程7.4636699 + Var1*(-0.4741615) = 0.
我有一个数据框对应于每个变量的频率 (例子:变量1出现1984次,变量2出现974次...)
dff<-data.frame(Var1=c(1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10 ,11, 12 ,13 ,14 ,15 ,16 ,27, 30 ,35 ,36 ,38 ,39 ,40 ,41), Freq=c(1984, 974, 464 , 251 , 127 , 83 , 45 , 26 , 16 , 12 , 9 , 5 , 5 , 2 ,3 , 1 , 1 , 1 , 1 , 2 , 5,4,2,1))
plot(dff$Var1,log(dff$Freq))
对数图
如图所示,存在线性回归,
我只是想找到一种方法,只能拟合线性拟合与x轴相交的回归部分。
因为,我需要提取其他未拟合线性拟合的点(dff$Var1=20
之后的点),这意味着不是噪声点
这个怎么样:
plot(dff$Var1, log(dff$Freq))
lr <- lm(log(Freq) ~ Var1, data = dff[dff$Var1 < 20, ])
abline(lr)
分界点是 20。但您可以根据自己的工作进行调整。
如果要计算
where the linear fit intersect the x axis.
获取系数:
coef(lr)
(Intercept) Var1
7.4636699 -0.4741615
并求解方程7.4636699 + Var1*(-0.4741615) = 0.