- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要平滑一些模拟数据,但是当要平滑的模拟纵坐标大多是相同的值时,偶尔会遇到问题。这是最简单情况的一个可重现的小示例。
> x <- 0:50
> y <- rep(0,51)
> loess.smooth(x,y)
Error in simpleLoess(y, x, w, span, degree, FALSE, FALSE, normalize = FALSE, :
NA/NaN/Inf in foreign function call (arg 1)
loess(y~x)
,
lowess(x,y)
, 以及它们在 MATLAB 中的类似物在这个例子中产生了预期的结果,没有错误。我正在使用
loess.smooth
在这里是因为我需要在一定数量的点上评估估计值。根据文档,我相信
loess.smooth
和
loess
使用相同的估计函数,但前者是处理评估点的“辅助函数”。错误似乎来自 C 函数:
> traceback()
3: .C(R_loess_raw, as.double(pseudovalues), as.double(x), as.double(weights),
as.double(weights), as.integer(D), as.integer(N), as.double(span),
as.integer(degree), as.integer(nonparametric), as.integer(order.drop.sqr),
as.integer(sum.drop.sqr), as.double(span * cell), as.character(surf.stat),
temp = double(N), parameter = integer(7), a = integer(max.kd),
xi = double(max.kd), vert = double(2 * D), vval = double((D +
1) * max.kd), diagonal = double(N), trL = double(1),
delta1 = double(1), delta2 = double(1), as.integer(0L))
2: simpleLoess(y, x, w, span, degree, FALSE, FALSE, normalize = FALSE,
"none", "interpolate", control$cell, iterations, control$trace.hat)
1: loess.smooth(x, y)
loess
还调用
simpleLoess
,但似乎是不同的论点。当然,如果您将足够多的 y 值改变为非零值,
loess.smooth
运行没有错误,但我需要程序在最极端的情况下运行。
loess.smooth
,而不是其他函数,会产生此错误并找到此问题的解决方案。 loess
找到解决方法但仍在评估可能与向量 x 不同的指定数量的点的估计。例如,我可能只想使用 x <- seq(0,50,10)
在平滑中,但在 x <- 0:50
处评估估计值.据我所知,使用 predict
使用新的数据框将无法正确处理这种情况,但如果我在那里遗漏了什么,请告诉我。 最佳答案
第 1 部分:
这需要一些跟踪,但如果你这样做:loess.smooth(x, y, family = "guassian")
该模型将适合。这是由于 loess.smooth
的不同默认值引起的和 loess
;前者有family = c("symmetric", "gaussian")
而后者则相反。如果您搜索 loess
的代码和 loess.smooth
, 你会看到当 family = "gaussian"
iterations
设置为 1
.否则取值 loess.control()$iterations
.如果您在 simpleLoess
中进行迭代,以下函数调用返回 NaN
的向量:
pseudovalues <- .Fortran(R_lowesp, as.integer(N), as.double(y),
as.double(z$fitted.values), as.double(weights), as.double(robust),
integer(N), pseudovalues = double(N))$pseudovalues
zz <- .C(R_loess_raw, as.double(pseudovalues), as.double(x),
as.double(weights), as.double(weights), as.integer(D),
as.integer(N), as.double(span), as.integer(degree),
as.integer(nonparametric), as.integer(order.drop.sqr),
as.integer(sum.drop.sqr), as.double(span * cell),
as.character(surf.stat), temp = double(N), parameter = integer(7),
a = integer(max.kd), xi = double(max.kd), vert = double(2 *
D), vval = double((D + 1) * max.kd), diagonal = double(N),
trL = double(1), delta1 = double(1), delta2 = double(1),
as.integer(0L))
family = "gaussian"
在您的
loess.smooth
称呼。
loess.smooth
的默认值与
loess
的不同,例如为
'span'
和
'degree'
.所以请仔细检查您想要拟合的模型并调整相关功能的默认值。
DF <- data.frame(x = 0:50, y = rep(0,51))
mod <- loess(y ~ x, data = DF)
pred <- predict(mod, newdata = data.frame(x = c(-1, 10, 15, 55)))
mod2 <- loess(y ~ x, data = DF, control = loess.control(surface = "direct"))
pred2 <- predict(mod2, newdata = data.frame(x = c(-1, 10, 15, 55)))
> pred
1 2 3 4
NA 0 0 NA
> pred2
1 2 3 4
0 0 0 0
predict
有什么问题事实上,这里是。
?try
和
?tryCatch
您可以环绕 loess 拟合函数(
loess.smooth
说),如果
loess.smooth
中出现错误,这将允许计算继续遇到了。
try
的输出或
tryCatch
通过包含类似的内容(如果您在循环中执行此操作:
mod <- try(loess.smooth(x, y))
if(inherits(mod, "try-error"))
next
## if here, model work, do something with `mod`
try
或
tryCatch
带配件通过
loess
并使用
predict
对于这样的问题。
关于r - 使用 `loess.smooth` 但不是 `loess` 或 `lowess` 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4645682/
我有几个数据点似乎适合于通过它们拟合样条曲线。当我这样做时,我得到了一个非常坎bump的拟合,例如过度拟合,这不是我所理解的平滑。 是否有特殊的选项/参数来恢复像here这样的非常平滑的样条曲线的功能
编辑:我找到了一个 jQuery 解决方案! https://codepen.io/chriscoyier/pen/dpBMVP这个确实适用于 iOS。我想 jQuery 桥接浏览器支持问题的日子还没
我正在阅读世界各国的一些数据,并正在使用 Google 的可视化小工具,尤其是 map visualizations 。问题是,美国总是走在前面。虽然大多数国家/地区的值在 1 到 50 之间,但美国
我在我的 friend Google 上搜索了一些代码来进行平滑滚动并找到了这个:Smooth vertical scrolling on mouse wheel in vanilla javascr
在过去的一个半星期里,我一直在使用 Java 和 Swing 从头开始编写游戏。到目前为止,游戏运行一切顺利,除了一件事:跳跃。我正在尝试实现抛物线跳跃,以便玩家不只是向上传送一点点。相反,我希望
我将数据从 Cursor 加载到 ListView ,但我的 ListView 并没有真正显示“平滑”。当我在 ListView 的 scollbar 上上下拖动时,数据会发生变化。有些项目在我的列表
谁能给我一些关于如何生成“平滑”随机数的提示?这就是我所说的平滑: 随机数应在游戏中使用,例如风向和强度(有没有人记得好老的“蠕虫”?)。当然,每隔一秒左右为这些值设置随机数看起来会非常不稳定。我宁愿
这是我第一次在这里写文章。我对 JQuery 动画有一些问题:当持续时间非常慢(例如 10000)时, Action 不够平滑。我的 div 需要一个“自然”的运动。有人知道我的问题的解决方案吗?或者
我有一个数组: array = [10, 10, 10, 10, 10] 我想遍历这个数组,以便它得到一个基于整数的“斜率”。所以如果整数是 2,结果将是: array = [0, 5, 10, 5,
我正在构建一个股票代码,我正在尝试使用 Smooth Div Scroll插件,但我无法让它与动态创建的段落标签一起使用。它不是创建滚动的水平列表,而是将 P 标签垂直转储到页面上。如果段落标签是静态
有没有办法在平滑滚动(参见示例)结束时获得回调? 我唯一能想到的就是观察 scroll 的缺失事件,但没有办法将它们与 anchor 点击联系起来 - 您如何将它们与只是自己滚动页面的用户区分开来?
问题背景: 我正在 ASP.NET MVC 项目中使用 Twitter Bootstrap 3 开发一个单页网站。 问题: 我目前正在尝试实现“平滑滚动”,该滚动应该通过从导航栏下拉列表中单击来滚动到
平滑滚动对我来说一直感觉非常缓慢和滞后(我希望一切都快快),但幸运的是可以在浏览器设置中禁用它。但是,我注意到越来越多的网页使用 javascript 强制平滑滚动,无论我的设置如何(例如 this
我有一个由 div 制成的小 table ,上面有一个“添加新”按钮来添加新行,每行上有一个 x 按钮来删除该行。表格有一个最大高度,一旦达到这个高度就会在添加新行时滚动到底部。我已经在 css 中将
我使用了 CSS TRICKS 的 Smooth Scroll Plugin,它工作得很好,但只有 2 个 ancoher 链接,而不是另一个链接,请在此处查看演示, LIVE DEMO 它对行业和定
我尝试为 Google 地球 (c++) 编写自己的应用程序界面。我正在使用 Earthlib 来控制相机 (EARTHLib::ICameraInfoGE)。该接口(interface)允许控制相机
如果我想编写一个函数(可能也是一个类),它从不可变的查找表(调用构造函数时固定)返回线性“平滑”数据,如下所示: 例如func(5.0) == 0.5。 存储查找表的最佳方式是什么? 我正在考虑使用两
根据 Chromecast 开发人员页面,Chromecast 支持 SmoothStreaming 容器,我相信它使用带有 .ismv 扩展名的视频块。我在播放这些视频文件时遇到问题。 如果我没记错
原始问题 我想平滑我的解释变量,例如车辆的“速度”数据,然后使用此平滑后的值。我搜索了很多东西,却没有发现直接答案。 我知道如何计算内核密度估计(density()或KernSmooth::bkde(
我尝试了几种不同的开箱即用选项来平滑我的数据中的一个步骤,但还没有完全找到我所追求的。在下面粘贴一个小的可复制示例。正如下面的屏幕截图中突出显示的,是否有一个 R 函数可以平滑步骤,类似于 smoot
我是一名优秀的程序员,十分优秀!