R:画一条线,其中;“适合”;与参考线的形状相同

R:画一条线,其中;“适合”;与参考线的形状相同,r,graph,R,Graph,我目前正在进行一个项目,我需要识别具有相同形状的线条,例如: yrefer = c(0.2900,0.3189,0.4097,0.3609,0.3762,0.5849,0.7144) 例如,看看下面的图,我想让R识别这两条红线,例如,如果有一点偏差(例如,与参考线(蓝色)的偏差为0.05),这两条红线也是一个合适的形状。 所以我想写一个代码,根据一个y坐标列表来检查这些y坐标是否符合yrefer线,如果允许偏差为0.05。 我不确定这在R中是否可行,但如果是的话,我知道这里有人可以帮助我。

我目前正在进行一个项目,我需要识别具有相同形状的线条,例如:

yrefer = c(0.2900,0.3189,0.4097,0.3609,0.3762,0.5849,0.7144)
例如,看看下面的图,我想让R识别这两条红线,例如,如果有一点偏差(例如,与参考线(蓝色)的偏差为0.05),这两条红线也是一个合适的形状。
所以我想写一个代码,根据一个y坐标列表来检查这些y坐标是否符合yrefer线,如果允许偏差为0.05。 我不确定这在R中是否可行,但如果是的话,我知道这里有人可以帮助我。 注意:我的意思是0.05的偏差:
假设我们有一条线,它是:

1.2900 1.3189 1.4097 1.3609 1.3762 1.5849 1.7144
这将是完全相同的线,但比yrefer线高1,但偏差为0.05,我的意思是,如果一些y坐标与你期望的值相差0.05,那么在这个例子中,我期望它们永远比yrefer坐标高1,但如果其中一个比yrefer坐标高0.98,我仍然接受这一点“fitting”行,因为它的折旧为<
0.05
。 为了澄清,我列举了一些可能性(当然还有很多!),它们应该被认为是第一个y值的正确值:
我希望这是清楚的,如果不让我知道!

只需解释不同的y平均值即可

newline<- c(1.25, 1.3189, 1.4097, 1.4609, 1.3762, 1.5249, 1.7144)
newline2<-newline+mean(yrefer)-mean(newline)
sd(newline2-yrefer)  #Can use var or whatever you want here.

newline只需解释不同的y均值

newline<- c(1.25, 1.3189, 1.4097, 1.4609, 1.3762, 1.5249, 1.7144)
newline2<-newline+mean(yrefer)-mean(newline)
sd(newline2-yrefer)  #Can use var or whatever you want here.

newline
y_-ref
y_-ref我不认为约翰尼斯的回答是概括的,例如:

y_ref = c(0, 0, 0)
y_test = c(.03,.03, -.06) #then test_line fails even though, let:
y_test = y_test +.011
abs(y_test - y_ref) #never outside the .05 range
test_line(y_test) #failed
我想你想要的是:

n = length(y_test)
d1 = y_test[-1] - y_test[-n]
d2 = y_ref[-1] - y_ref[-n]
max(cumsum(d2 - d1)) - min(cumsum(d2 - d1)) #shouldn't be >= .1

我不认为约翰尼斯的回答是概括的,例如:

y_ref = c(0, 0, 0)
y_test = c(.03,.03, -.06) #then test_line fails even though, let:
y_test = y_test +.011
abs(y_test - y_ref) #never outside the .05 range
test_line(y_test) #failed
我想你想要的是:

n = length(y_test)
d1 = y_test[-1] - y_test[-n]
d2 = y_ref[-1] - y_ref[-n]
max(cumsum(d2 - d1)) - min(cumsum(d2 - d1)) #shouldn't be >= .1

谢谢,你能解释一下这段代码是做什么的吗?我试着用你的例子,但每次测试都会得到0(我把你建议的代码与我在问题中的代码结合起来粘贴了,可能是我做错了什么)。很抱歉,我忘了输入n=length(y_测试)我们的想法是观察两条线中累积获得/损失量的差异。如果测试线在某一点上超过参考线0.05,但其在参考线下的下降量从未超过0.01,那么我们可以将参考线向上移动0.02,以便测试线和参考线之间在任一方向上的最大距离TIONE is.03最后一行代码告诉您测试/参考线是否有可能发生偏移,以便两条线在任何点上的距离永远不会大于等于.05。该值不应因测试或参考线的任何偏移而改变。请告诉我它是否适用于您正在做的事情/如果我误解了问题。谢谢,您能解释一下吗lain这段代码是做什么的?我试着用你的例子,但每次测试都会得到0(我把你建议的代码与我在问题中的代码结合起来粘贴,可能是我做错了什么)。很抱歉,我忘了输入n=长度(y_测试)我们的想法是观察两条线中累积获得/损失量的差异。如果测试线在某一点上超过参考线0.05,但其在参考线下的下降量从未超过0.01,那么我们可以将参考线向上移动0.02,以便测试线和参考线之间在任一方向上的最大距离TIONE is.03最后一行代码告诉您测试/参考线中是否存在可能的偏移,以便在任何点上两条线之间的距离永远不会大于等于.05。该值不应因测试或参考线中的任何偏移而改变。请告诉我它是否适用于您的操作/如果我误解了问题。