Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
沿'的加权点;S';R曲线_R - Fatal编程技术网

沿'的加权点;S';R曲线

沿'的加权点;S';R曲线,r,R,我有一个R数据框中的数据,并希望沿S曲线(logit曲线)对一列(days\u自)进行加权。特别是,一个向后的S曲线,使得最近发生的事件的权重更大。我使用这条曲线作为权重函数的理由是,它将对最近发生的事件进行大量加权,同时对遥远的事件进行轻微加权。因此,我想写一个函数,对于给定数量的观测值,我可以创建一条S曲线来提供权重,如下图所示,权重将位于y轴上,此后的天数将位于x轴上 [请忽略此图上的点和标签,我可以使用另一个stackoverflow问题中的反向s曲线/logit函数模型] 这是基于一个

我有一个R数据框中的数据,并希望沿S曲线(logit曲线)对一列(
days\u自
)进行加权。特别是,一个向后的S曲线,使得最近发生的事件的权重更大。我使用这条曲线作为权重函数的理由是,它将对最近发生的事件进行大量加权,同时对遥远的事件进行轻微加权。因此,我想写一个函数,对于给定数量的观测值,我可以创建一条S曲线来提供权重,如下图所示,权重将位于y轴上,此后的天数将位于x轴上

[请忽略此图上的点和标签,我可以使用另一个stackoverflow问题中的反向s曲线/logit函数模型]


这是基于一个类似问题的答案[此处][https://stackoverflow.com/questions/41659903/retrieve-x-and-y-value-based-on-graph-in-r]

您可以使用自己的公式或来自
e1071
软件包和
curve()
函数的sigmoid函数创建曲线。然后,预测数据集中给定天数的曲线值

这里有一个简单的例子

library(scales)
library(e1071)

# Data set with points of interest. Suppose these are days. 
days <- data.frame( d = seq.int( 1, 365, 1 ) )
重新缩放x和y以确保范围包含您感兴趣的数据值。稍后,您将希望能够从x预测y。将y缩放到上限和下限将为权重设置上限和下限阈值

x <- rescale(p$x, to = c(1, 365))
y <- rescale(p$y, to = c(0,1))
您的体重现在以天为单位$pred

x <- rescale(p$x, to = c(1, 365))
y <- rescale(p$y, to = c(0,1))
days$pred <- predict( loess( y ~ x, span=.1 ), days$d ) 

plot(days$d,days$pred)