问题标签 [loess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1006 浏览

r - R中用于趋势和季节性分量的STL黄土窗口

在 R 中使用该stl函数时,我知道使用 loess 是为了“平滑”季节性子系列以找到季节性成分。用于执行此操作的窗口由s.window命令给出。

我相信 loess 使用对称窗口,即如果我指定s.window=24它代表一天的每小时数据的位置,它会使用相关点之前和之后的点来拆分它。据我所知,代码的黄土部分取自 Fortran,我不知道如何修改它,以便它只使用我们感兴趣的点之前的点。即它使用过去的数据而不是未来。

但是,我对此特别感兴趣,特别是计算趋势和余数。函数中的默认值stlt.window=NULL使用函数nextodd(ceiling((1.5*period) / (1-(1.5/s.window))))来确定窗口。我假设这也使用了一个对称窗口,并想知道是否有人可以建议如何改变它,以便它只使用过去的数据来确定趋势、季节性和剩余曲线。

0 投票
3 回答
10216 浏览

r - 如何使用 wrap 函数在 GGally::ggpairs 中使用黄土方法

我正在尝试复制 Coursera R 回归模型课程中给出的这个简单示例:

我希望看到一个 6x6 对图 - 一个散点图,对于瑞士数据中 6 个变量的每种组合,黄土更平滑,置信区间。

但是,我收到以下错误:

display_param_error() 中的错误:'params' 是一个已弃用的参数。请“包装”该函数以提供参数。帮助(“包装”,包=“GGally”)

我查看了ggpairs()and帮助文件,并尝试了and函数wrap()的许多排列。wrap()wrap_fn_with_param_arg()

我可以让它按预期工作:

但是一旦我添加了黄土部分,它就不会:

当我尝试上面的行时出现此错误。

值错误[3L]:以下 ggpair 绘图函数很容易获得:连续:c('points', 'smooth', 'density', 'cor', 'blank') 组合:c('box', 'dot ', 'facethist', 'facetdensity', 'denstrip', 'blank') 离散:c('ratio', 'facetbar', 'blank') na: c('na', 'blank')

诊断连续:c('densityDiag', 'barDiag', 'blankDiag') 诊断离散:c('barDiag', 'blankDiag') 诊断 na: c('naDiag', 'blankDiag')

您还可以提供自己的函数,遵循 function(data, mapping, ...){ 的 api。. . } 并返回一个 ggplot2 绘图对象 例如:my_fn <- function(data, mapping, ...){ p <- ggplot(data = data, mapping = mapping) + geom_point(...) p } ggpairs(data, lower = 列表(连续 = my_fn))

提供功能:黄土

显然我在错误的地方进入了黄土。谁能帮我理解如何添加黄土部分?

请注意,我的问题与这个不同,因为我在询问如何在 ggpairs 中实现 loess,因为 params 参数已被弃用。

非常感谢。

0 投票
0 回答
483 浏览

r - 在 R 中针对大量“看起来很吵”的原始数据绘制一条平滑线

我试图传达一些嘈杂的性能数据的总体印象,所以我想我想绘制一条原始数据的黄土平滑曲线。我应该明确指出,丢弃一些数据的精度是完全可以的;我只想指出,我所拥有的数字形成了(大部分)重复模式。

我想展示这一点的原因是为了证明我已经将所有数据视为一个整体,并且更详细地检查例如一天并不像听起来那么懒惰。

我试图对我的数据运行 smooth.spline 和 loess,但我认为由于我调用 ggplot 的方式而失败。我相信我必须对 ggplot 和 ggsave 做一个奇怪的咒语,因为这段代码实际上是在一个函数内部,并且由于范围界定行为之类的事情,函数内部对 ggplot 的调用似乎出错了(没有仔细研究这个;我没有不了解 R 的作用域)。

这是一些示例代码,显示了我正在尝试的内容:

因为这需要一些数据,你可以在这里找到一个~100kbyte 的文件

我想我的最终目标是根据时间平均所有数字(丢弃日期部分),但我认为我可以通过创建一个额外的 as.time 列来做到这一点,然后使用该“时间”作为平均值群组。

0 投票
1 回答
246 浏览

r - “替换有 n 行,数据有 p”带有 loess() 的错误消息

这个问题与这个有关。

我正在尝试使用loess()inside ggplot2stat_smooth()这样:

但是,我收到以下错误消息:

警告信息:

1:“newdata”有 100 行,但找到的变量有 6816 行

2:“stat_quantile()”中的计算失败:

替换有 6816 行,数据有 100

知道发生了什么/如何让它工作吗?

谢谢

0 投票
2 回答
904 浏览

r - 如何用ggplot绘制黄土表面

我有这段代码,我创建了我的数据框的黄土表面。

现在我想meuse.lo[[1]]用 ggplot2 函数绘图......但我不知道如何meuse.lo[[1]]在具有 x,y (网格坐标)和 z (插值)列的数据框中进行转换。谢谢。

0 投票
2 回答
3558 浏览

r - 如何在 R 中点很少的图上拟合平滑曲线

我只有 4 个数据点:

那个“想要”来描述抛物线。但显然,我找不到让它顺利的方法。取而代之的是,我使用以下代码最终得到了下面的红色方框图:

不知道有没有什么办法可以让边角变得光滑,这样看起来更像蓝线...

在此处输入图像描述

0 投票
2 回答
4869 浏览

r - r中的多条黄土线

我可以根据一列日期和第二列值在 R 中创建一条黄土线。加载数据集后,我将下面的一列数据可视化:

但是,如何为其他列添加多条黄土线?在一个图形中绘制所有黄土线的代码是什么?比如说,每个额外的列都被命名为 Value2、Value3、Value4 等。

0 投票
1 回答
2706 浏览

r - 我可以从 R 中导出黄土回归的结果吗?

我对一些数据进行了黄土回归并绘制了它。问题是我想将黑线和浅红线(见图)导出到 excel 中。可能吗?

澄清:

我想从黄土回归而不是图表中导出基础数据。

在此处输入图像描述

用于计算它的代码:

0 投票
1 回答
127 浏览

r - 黄土散点图时间序列误差

我正在尝试为时间序列的子集创建黄土曲线。在应用黄土时,所有子集似乎都有类似的问题,所以问题可能出在我身上,df但我不知道如何解决。

数据可在此处获得:https ://dl.dropbox.com/s/zy6b5mjcu7uteof/data_all_PAR_max.csv?dl=0

这个函数是一个更大的函数的一部分,所以一些值被传递并在这里定义以帮助重现错误:

替换linesforpoints可以更好地了解错误

情节应该是这样的:

黄土误差图

幻象点似乎是数据集中 NA 的伪影。

我创建了一个循环来检查发现更多错误的每一年。

该循环为每年创建一个图,并说明曲线平滑如何在某些年份起作用,但在其他年份却不起作用。

设置loess(y ~ x, na.action=na.exclude)似乎对最终结果没有任何影响。添加group <- na.omit(group)到融化df之前可以loess()解决该数据框的错误,但在检查个别年份时问题似乎仍然存在。这是一个例子:

非常感谢任何帮助确定绘制年度曲线的解决方案。

0 投票
1 回答
1126 浏览

r - Problems displaying LOESS regression line and confidence interval

I am having some issues trying to compete a LOESS regression with a data set. I have been able to properly create the line, but I am unable to get it to plot correctly.

I ran through the data like this.

At this point I received an error

"Error in xy.coords(x, y) : 'x' and 'y' lengths differ"

I searched around and read that this issue could be due to the points needing to be ordered, so I proceeded.

There were no errors at this point, but the LOESS line was still not showing up in the plot. The points were displayed correctly, but not the line.

This is similar to the data set I am using...

I have been working for this a while and trying to read up as much as I can, but I haven't been able to make any additional headway. Any advice or guidance would be greatly appreciated.


Follow-up on adding confidence interval to plot

I have been trying to add in confidence intervals following another example found on the site on this page How to get the confidence intervals for LOWESS fit using R? .

The example given on that page is:

I adapted that as this:

Although this does provide confidence intervals, the regression line is all wrong. I'm not sure if it is an issue with the predict function, or another issue. Thanks again!