我有大约800个线性模型都遵循相同的模式,它们对于大多数长度是线性的,但是在某个点它可以开始指数地起飞(但不总是)。我想确定这种情况何时开始发生(如果有的话)。例如:
df <- data.frame(Length = c(10,20,30,40,50,60,70,80,90,100),
Error = c(0.012, -0.013, 0.010,0.001,-0.005, 0.06, 0.0021, 0.07, 0.10, 0.15))
Length Error
10 0.012
20 -0.013
30 0.010
40 0.001
50 -0.005
60 0.06
70 0.0021
80 0.07
90 0.10
100 0.15
我想确定线性模型分解的长度值。所以我希望它之后的长度,所有误差都> 0.05。
所以在这种情况下,我想确定70的长度值,因为我们拥有的所有长度&gt; 70的误差> 0.05(总是在正方向,所以我不关心| error |&gt; 0.05)。
答案 0 :(得分:0)
您要查找的是列小于0.05的最大值
newdata <- df[order(Length),]
tail(subset(newdate, error < 0.05)$Length,1)
这应该吐70但我假设长度已经按顺序
答案 1 :(得分:0)
之前回答的詹克斯让我思考,我认为一个相当简单的解决方案就是。
df <- data.frame(Length = c(10,20,30,40,50,60,70,80,90,100),
Error = c(0.012, -0.013, 0.010,0.001,-0.005, 0.06, 0.0021, 0.07, 0.10, 0.15))
x <- df$error <0.05
max(df$length[x])